OLD | NEW |
1 /* | 1 /* |
2 | 2 |
3 Copyright (C) 2010 Apple Inc. All rights reserved. | 3 Copyright (C) 2010 Apple Inc. All rights reserved. |
4 | 4 |
5 Redistribution and use in source and binary forms, with or without | 5 Redistribution and use in source and binary forms, with or without |
6 modification, are permitted provided that the following conditions | 6 modification, are permitted provided that the following conditions |
7 are met: | 7 are met: |
8 1. Redistributions of source code must retain the above copyright | 8 1. Redistributions of source code must retain the above copyright |
9 notice, this list of conditions and the following disclaimer. | 9 notice, this list of conditions and the following disclaimer. |
10 2. Redistributions in binary form must reproduce the above copyright | 10 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 15 matching lines...) Expand all Loading... |
26 | 26 |
27 #ifndef NullPtr_h | 27 #ifndef NullPtr_h |
28 #define NullPtr_h | 28 #define NullPtr_h |
29 | 29 |
30 // For compilers and standard libraries that do not yet include it, this adds th
e | 30 // For compilers and standard libraries that do not yet include it, this adds th
e |
31 // nullptr_t type and nullptr object. They are defined in the same namespaces th
ey | 31 // nullptr_t type and nullptr object. They are defined in the same namespaces th
ey |
32 // would be in compiler and library that had the support. | 32 // would be in compiler and library that had the support. |
33 | 33 |
34 #if COMPILER_SUPPORTS(CXX_NULLPTR) || defined(_LIBCPP_VERSION) | 34 #if COMPILER_SUPPORTS(CXX_NULLPTR) || defined(_LIBCPP_VERSION) |
35 | 35 |
36 #include <cstddef> | |
37 | |
38 // libstdc++ supports nullptr_t starting with gcc 4.6. STLport doesn't define it
. | 36 // libstdc++ supports nullptr_t starting with gcc 4.6. STLport doesn't define it
. |
39 #if (defined(__GLIBCXX__) && __GLIBCXX__ < 20110325) || defined(_STLPORT_VERSION
) | 37 #if (defined(__GLIBCXX__) && __GLIBCXX__ < 20110325) || defined(_STLPORT_VERSION
) |
40 namespace std { | 38 namespace std { |
41 typedef decltype(nullptr) nullptr_t; | 39 typedef decltype(nullptr) nullptr_t; |
42 } | 40 } |
43 #endif | 41 #endif |
44 | 42 |
45 #else | 43 #else |
46 | 44 |
| 45 #include "wtf/WTFExport.h" |
| 46 |
47 namespace std { | 47 namespace std { |
48 class nullptr_t { | 48 class nullptr_t { |
49 public: | 49 public: |
50 // Required in order to create const nullptr_t objects without an | 50 // Required in order to create const nullptr_t objects without an |
51 // explicit initializer in GCC 4.5, a la: | 51 // explicit initializer in GCC 4.5, a la: |
52 // | 52 // |
53 // const std::nullptr_t nullptr; | 53 // const std::nullptr_t nullptr; |
54 nullptr_t() { } | 54 nullptr_t() { } |
55 | 55 |
56 // Make nullptr convertible to any pointer type. | 56 // Make nullptr convertible to any pointer type. |
(...skipping 19 matching lines...) Expand all Loading... |
76 #else | 76 #else |
77 #define WTF_DISALLOW_CONSTRUCTION_FROM_ZERO(ClassName) \ | 77 #define WTF_DISALLOW_CONSTRUCTION_FROM_ZERO(ClassName) \ |
78 private: \ | 78 private: \ |
79 ClassName(int) | 79 ClassName(int) |
80 #define WTF_DISALLOW_ZERO_ASSIGNMENT(ClassName) \ | 80 #define WTF_DISALLOW_ZERO_ASSIGNMENT(ClassName) \ |
81 private: \ | 81 private: \ |
82 ClassName& operator=(int) | 82 ClassName& operator=(int) |
83 #endif | 83 #endif |
84 | 84 |
85 #endif | 85 #endif |
OLD | NEW |