1 | /* |
2 | * Distributed under the Boost Software License, Version 1.0. |
3 | * (See accompanying file LICENSE_1_0.txt or copy at |
4 | * http://www.boost.org/LICENSE_1_0.txt) |
5 | * |
6 | * Copyright (c) 2017 Andrey Semashev |
7 | */ |
8 | /*! |
9 | * \file atomic/detail/type_traits/conditional.hpp |
10 | * |
11 | * This header defines \c conditional type trait |
12 | */ |
13 | |
14 | #ifndef BOOST_ATOMIC_DETAIL_TYPE_TRAITS_CONDITIONAL_HPP_INCLUDED_ |
15 | #define BOOST_ATOMIC_DETAIL_TYPE_TRAITS_CONDITIONAL_HPP_INCLUDED_ |
16 | |
17 | #include <boost/atomic/detail/config.hpp> |
18 | #if !defined(BOOST_ATOMIC_DETAIL_NO_CXX11_HDR_TYPE_TRAITS) |
19 | #include <type_traits> |
20 | #else |
21 | #include <boost/type_traits/conditional.hpp> |
22 | #endif |
23 | |
24 | #ifdef BOOST_HAS_PRAGMA_ONCE |
25 | #pragma once |
26 | #endif |
27 | |
28 | namespace boost { |
29 | namespace atomics { |
30 | namespace detail { |
31 | |
32 | #if !defined(BOOST_ATOMIC_DETAIL_NO_CXX11_HDR_TYPE_TRAITS) |
33 | using std::conditional; |
34 | #else |
35 | using boost::conditional; |
36 | #endif |
37 | |
38 | } // namespace detail |
39 | } // namespace atomics |
40 | } // namespace boost |
41 | |
42 | #endif // BOOST_ATOMIC_DETAIL_TYPE_TRAITS_CONDITIONAL_HPP_INCLUDED_ |
43 | |