OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef TESTING_GMOCK_CUSTOM_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_ | 5 #ifndef TESTING_GMOCK_CUSTOM_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_ |
6 #define TESTING_GMOCK_CUSTOM_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_ | 6 #define TESTING_GMOCK_CUSTOM_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_ |
7 | 7 |
8 #include <type_traits> | 8 #include <type_traits> |
9 | 9 |
10 namespace std { | 10 namespace std { |
11 | 11 |
12 // Provide alternative implementation of std::is_default_constructible for | 12 // Provide alternative implementation of std::is_default_constructible for |
13 // old, pre-4.7 of libstdc++, where is_default_constructible is missing. | 13 // old, pre-4.7 of libstdc++, where is_default_constructible is missing. |
14 // <20120322 below implies pre-4.7.0. In addition we blacklist several version | 14 // <20120322 below implies pre-4.7.0. In addition we blacklist several version |
15 // that released after 4.7.0 from pre-4.7.0 branch. 20120702 implies 4.5.4, and | 15 // that released after 4.7.0 from pre-4.7.0 branch. 20120702 implies 4.5.4, and |
16 // 20121127 implies 4.6.4. | 16 // 20121127 implies 4.6.4. |
17 #if defined(__GLIBCXX__) && \ | 17 #if defined(__GLIBCXX__) && \ |
18 (__GLIBCXX__ < 20120322 || \ | 18 (__GLIBCXX__ < 20120322 || __GLIBCXX__ == 20120702 || \ |
19 __GLIBCXX__ == 20120702 || \ | 19 __GLIBCXX__ == 20121127) |
20 __GLIBCXX__ == 20121127) | |
21 template <typename T> | 20 template <typename T> |
22 using is_default_constructible = std::is_constructible<T>; | 21 using is_default_constructible = std::is_constructible<T>; |
23 #endif | 22 #endif |
24 | |
25 } | 23 } |
26 | 24 |
27 #endif // TESTING_GMOCK_CUSTOM_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_ | 25 #endif // TESTING_GMOCK_CUSTOM_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_ |
OLD | NEW |