OLD | NEW |
| (Empty) |
1 /* | |
2 | |
3 Copyright (C) 2010 Apple Inc. All rights reserved. | |
4 | |
5 Redistribution and use in source and binary forms, with or without | |
6 modification, are permitted provided that the following conditions | |
7 are met: | |
8 1. Redistributions of source code must retain the above copyright | |
9 notice, this list of conditions and the following disclaimer. | |
10 2. Redistributions in binary form must reproduce the above copyright | |
11 notice, this list of conditions and the following disclaimer in the | |
12 documentation and/or other materials provided with the distribution. | |
13 | |
14 THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY | |
15 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
16 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
17 DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY | |
18 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
19 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
20 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | |
21 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
22 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
23 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
24 | |
25 */ | |
26 | |
27 #ifndef NullPtr_h | |
28 #define NullPtr_h | |
29 | |
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 | |
32 // would be in compiler and library that had the support. | |
33 | |
34 #include <ciso646> | |
35 | |
36 #if COMPILER_SUPPORTS(CXX_NULLPTR) || defined(_LIBCPP_VERSION) | |
37 | |
38 #include <cstddef> | |
39 | |
40 // libstdc++ supports nullptr_t starting with gcc 4.6. | |
41 #if defined(__GLIBCXX__) && __GLIBCXX__ < 20110325 | |
42 namespace std { | |
43 typedef decltype(nullptr) nullptr_t; | |
44 } | |
45 #endif | |
46 | |
47 #else | |
48 | |
49 namespace std { | |
50 class WTF_EXPORT_PRIVATE nullptr_t { }; | |
51 } | |
52 extern WTF_EXPORT_PRIVATE std::nullptr_t nullptr; | |
53 | |
54 #endif | |
55 | |
56 #endif | |
OLD | NEW |