Project revived from Feb2017
[EroSomnia.git] / deps / boost_1_63_0 / boost / type_traits / has_bit_or_assign.hpp
blob891c39c51b80339e127222e3a887287fc2704dd0
1 // (C) Copyright 2009-2011 Frederic Bron.
2 //
3 // Use, modification and distribution are subject to the Boost Software License,
4 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt).
6 //
7 // See http://www.boost.org/libs/type_traits for most recent version including documentation.
9 #ifndef BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
10 #define BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
12 #define BOOST_TT_TRAIT_NAME has_bit_or_assign
13 #define BOOST_TT_TRAIT_OP |=
14 #define BOOST_TT_FORBIDDEN_IF\
16 /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
18 ::boost::is_fundamental< Lhs_nocv >::value && \
19 ::boost::is_fundamental< Rhs_nocv >::value && \
20 ( \
21 (! ::boost::is_integral< Lhs_noref >::value ) || \
22 (! ::boost::is_integral< Rhs_noref >::value )\
24 )||\
25 /* Lhs==fundamental and Rhs==pointer */\
27 ::boost::is_fundamental< Lhs_nocv >::value && \
28 ::boost::is_pointer< Rhs_noref >::value\
29 )||\
30 /* Rhs==fundamental and Lhs==pointer */\
32 ::boost::is_fundamental< Rhs_nocv >::value && \
33 ::boost::is_pointer< Lhs_noref >::value\
34 )||\
35 /* Lhs==pointer and Rhs==pointer */\
37 ::boost::is_pointer< Lhs_noref >::value && \
38 ::boost::is_pointer< Rhs_noref >::value\
39 )||\
40 /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
42 ::boost::is_fundamental< Lhs_nocv >::value && \
43 ::boost::is_fundamental< Rhs_nocv >::value && \
44 ::boost::is_const< Lhs_noref >::value\
49 #include <boost/type_traits/detail/has_binary_operator.hpp>
51 #undef BOOST_TT_TRAIT_NAME
52 #undef BOOST_TT_TRAIT_OP
53 #undef BOOST_TT_FORBIDDEN_IF
55 #endif