aux_/preprocessed/plain/equal_to.hpp
Go to the documentation of this file.
1 
2 // Copyright Aleksey Gurtovoy 2000-2004
3 //
4 // Distributed under the Boost Software License, Version 1.0.
5 // (See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //
8 
9 // Preprocessed version of "boost/mpl/equal_to.hpp" header
10 // -- DO NOT modify by hand!
11 
12 namespace boost { namespace mpl {
13 
14 template<
15  typename Tag1
16  , typename Tag2
17  >
18 struct equal_to_impl
19  : if_c<
20  ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
21  > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
22  )
23 
24  , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
25  , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
26  >::type
27 {
28 };
29 
31 template<> struct equal_to_impl< na,na >
32 {
33  template< typename U1, typename U2 > struct apply
34  {
35  typedef apply type;
36  BOOST_STATIC_CONSTANT(int, value = 0);
37  };
38 };
39 
40 template< typename Tag > struct equal_to_impl< na,Tag >
41 {
42  template< typename U1, typename U2 > struct apply
43  {
44  typedef apply type;
45  BOOST_STATIC_CONSTANT(int, value = 0);
46  };
47 };
48 
49 template< typename Tag > struct equal_to_impl< Tag,na >
50 {
51  template< typename U1, typename U2 > struct apply
52  {
53  typedef apply type;
54  BOOST_STATIC_CONSTANT(int, value = 0);
55  };
56 };
57 
58 template< typename T > struct equal_to_tag
59 {
60  typedef typename T::tag type;
61 };
62 
63 template<
64  typename BOOST_MPL_AUX_NA_PARAM(N1)
65  , typename BOOST_MPL_AUX_NA_PARAM(N2)
66  >
67 struct equal_to
68 
69  : equal_to_impl<
70  typename equal_to_tag<N1>::type
71  , typename equal_to_tag<N2>::type
72  >::template apply< N1,N2 >::type
73 {
74 };
75 
76 BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
77 
78 }}
79 
80 namespace boost { namespace mpl {
81 
82 template<>
83 struct equal_to_impl< integral_c_tag,integral_c_tag >
84 {
85  template< typename N1, typename N2 > struct apply
86 
87  : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
88  {
89  };
90 };
91 
92 }}
BOOST_MPL_AUX_NA_SPEC2
#define BOOST_MPL_AUX_NA_SPEC2(i, j, name)
Definition: na_spec.hpp:166
BOOST_STATIC_CONSTANT
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
na
Definition: na_fwd.hpp:22
boost::mpl::equal_to_impl< na, na >::apply::type
apply type
Definition: aux_/preprocessed/plain/equal_to.hpp:35
BOOST_MPL_AUX_NA_PARAM
#define BOOST_MPL_AUX_NA_PARAM(param)
Definition: na_spec.hpp:152
integral_c_tag
Definition: integral_c_tag.hpp:22
boost::mpl::equal_to_tag
Definition: aux_/preprocessed/bcc/equal_to.hpp:58
boost::type
Definition: type.hpp:14
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::mpl::equal_to_impl
Definition: aux_/preprocessed/bcc/equal_to.hpp:18
boost::foreach::tag
boost_foreach_argument_dependent_lookup_hack tag
Definition: foreach_fwd.hpp:31
boost::mpl::equal_to_impl< na, Tag >::apply::type
apply type
Definition: aux_/preprocessed/plain/equal_to.hpp:44
boost::mpl::apply
primary template (not a specialization!)
Definition: aux_/preprocessed/bcc/apply.hpp:163
boost::mpl::equal_to_impl< Tag, na >::apply::type
apply type
Definition: aux_/preprocessed/plain/equal_to.hpp:53
boost::mpl::equal_to_tag::type
T::tag type
Definition: aux_/preprocessed/plain/equal_to.hpp:60
boost::mpl::equal_to
Definition: aux_/preprocessed/bcc/equal_to.hpp:67
bool_
Definition: mpl/bool.hpp:23


sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:38:54