blob: 7a05b7ddc8c1af7e0a6fad461bca7ed4df76e261 [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001// (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.
8
Jeff Thompson3d613fd2013-10-15 15:39:04 -07009#ifndef NDNBOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
10#define NDNBOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
Jeff Thompsona28eed82013-08-22 16:21:10 -070011
Jeff Thompson3d613fd2013-10-15 15:39:04 -070012#define NDNBOOST_TT_TRAIT_NAME has_right_shift
13#define NDNBOOST_TT_TRAIT_OP >>
14#define NDNBOOST_TT_FORBIDDEN_IF\
Jeff Thompsona28eed82013-08-22 16:21:10 -070015 ::ndnboost::type_traits::ice_or<\
16 /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
17 ::ndnboost::type_traits::ice_and<\
18 ::ndnboost::is_fundamental< Lhs_nocv >::value,\
19 ::ndnboost::is_fundamental< Rhs_nocv >::value,\
20 ::ndnboost::type_traits::ice_or<\
21 ::ndnboost::type_traits::ice_not< ::ndnboost::is_integral< Lhs_noref >::value >::value,\
22 ::ndnboost::type_traits::ice_not< ::ndnboost::is_integral< Rhs_noref >::value >::value\
23 >::value\
24 >::value,\
25 /* Lhs==fundamental and Rhs==pointer */\
26 ::ndnboost::type_traits::ice_and<\
27 ::ndnboost::is_fundamental< Lhs_nocv >::value,\
28 ::ndnboost::is_pointer< Rhs_noref >::value\
29 >::value,\
30 /* Rhs==fundamental and Lhs==pointer */\
31 ::ndnboost::type_traits::ice_and<\
32 ::ndnboost::is_fundamental< Rhs_nocv >::value,\
33 ::ndnboost::is_pointer< Lhs_noref >::value\
34 >::value,\
35 /* Lhs==pointer and Rhs==pointer */\
36 ::ndnboost::type_traits::ice_and<\
37 ::ndnboost::is_pointer< Lhs_noref >::value,\
38 ::ndnboost::is_pointer< Rhs_noref >::value\
39 >::value\
40 >::value
41
42
43#include <ndnboost/type_traits/detail/has_binary_operator.hpp>
44
Jeff Thompson3d613fd2013-10-15 15:39:04 -070045#undef NDNBOOST_TT_TRAIT_NAME
46#undef NDNBOOST_TT_TRAIT_OP
47#undef NDNBOOST_TT_FORBIDDEN_IF
Jeff Thompsona28eed82013-08-22 16:21:10 -070048
49#endif