~ubuntu-branches/ubuntu/saucy/deal.ii/saucy

« back to all changes in this revision

Viewing changes to contrib/boost-1.46.1/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp

  • Committer: Package Import Robot
  • Author(s): "Adam C. Powell, IV", Adam C. Powell, IV, Christophe Trophime
  • Date: 2012-02-21 06:57:30 UTC
  • mfrom: (3.1.7 sid)
  • Revision ID: package-import@ubuntu.com-20120221065730-r2iz70lg557wcd2e
Tags: 7.1.0-1
[ Adam C. Powell, IV ]
* New upstream (closes: #652057).
* Updated to use PETSc and SLEPc 3.2, and forward-ported all patches.
* Removed NetCDF Build-Depends because it uses serial HDF5.
* Made Sacado cmath patch work with new configure.
* Moved -dev package symlink lines in rules to arch all section.

[ Christophe Trophime ]
* debian/rules:
   - add dh_strip --dbg-package to generate dbg package (closes: #652058)
   - add .install files to simplify rules
* Add support for mumps, arpack (closes: #637655)
* Add patch for slepc 3.2 (closes: #659245)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
// Copyright Aleksey Gurtovoy 2000-2004
 
3
// Copyright Jaap Suter 2003
 
4
//
 
5
// Distributed under the Boost Software License, Version 1.0. 
 
6
// (See accompanying file LICENSE_1_0.txt or copy at 
 
7
// http://www.boost.org/LICENSE_1_0.txt)
 
8
//
 
9
 
 
10
// *Preprocessed* version of the main "bitor.hpp" header
 
11
// -- DO NOT modify by hand!
 
12
 
 
13
namespace boost { namespace mpl {
 
14
 
 
15
template<
 
16
      typename Tag1
 
17
    , typename Tag2
 
18
    >
 
19
struct bitor_impl
 
20
    : if_c<
 
21
          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
 
22
              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
 
23
            )
 
24
 
 
25
        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
 
26
        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
 
27
        >::type
 
28
{
 
29
};
 
30
 
 
31
/// for Digital Mars C++/compilers with no CTPS/TTP support
 
32
template<> struct bitor_impl< na,na >
 
33
{
 
34
    template< typename U1, typename U2 > struct apply
 
35
    {
 
36
        typedef apply type;
 
37
        BOOST_STATIC_CONSTANT(int, value  = 0);
 
38
    };
 
39
};
 
40
 
 
41
template< typename Tag > struct bitor_impl< na,Tag >
 
42
{
 
43
    template< typename U1, typename U2 > struct apply
 
44
    {
 
45
        typedef apply type;
 
46
        BOOST_STATIC_CONSTANT(int, value  = 0);
 
47
    };
 
48
};
 
49
 
 
50
template< typename Tag > struct bitor_impl< Tag,na >
 
51
{
 
52
    template< typename U1, typename U2 > struct apply
 
53
    {
 
54
        typedef apply type;
 
55
        BOOST_STATIC_CONSTANT(int, value  = 0);
 
56
    };
 
57
};
 
58
 
 
59
template< typename T > struct bitor_tag
 
60
{
 
61
    typedef typename T::tag type;
 
62
};
 
63
 
 
64
template<
 
65
      typename BOOST_MPL_AUX_NA_PARAM(N1)
 
66
    , typename BOOST_MPL_AUX_NA_PARAM(N2)
 
67
    , typename N3 = na, typename N4 = na, typename N5 = na
 
68
    >
 
69
struct bitor_
 
70
    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
 
71
{
 
72
    BOOST_MPL_AUX_LAMBDA_SUPPORT(
 
73
          5
 
74
        , bitor_
 
75
        , ( N1, N2, N3, N4, N5 )
 
76
        )
 
77
};
 
78
 
 
79
template<
 
80
      typename N1, typename N2, typename N3, typename N4
 
81
    >
 
82
struct bitor_< N1,N2,N3,N4,na >
 
83
 
 
84
    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
 
85
{
 
86
    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
 
87
          5
 
88
        , bitor_
 
89
        , ( N1, N2, N3, N4, na )
 
90
        )
 
91
};
 
92
 
 
93
template<
 
94
      typename N1, typename N2, typename N3
 
95
    >
 
96
struct bitor_< N1,N2,N3,na,na >
 
97
 
 
98
    : bitor_< bitor_< N1,N2 >, N3>
 
99
{
 
100
    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
 
101
          5
 
102
        , bitor_
 
103
        , ( N1, N2, N3, na, na )
 
104
        )
 
105
};
 
106
 
 
107
template<
 
108
      typename N1, typename N2
 
109
    >
 
110
struct bitor_< N1,N2,na,na,na >
 
111
    : bitor_impl<
 
112
          typename bitor_tag<N1>::type
 
113
        , typename bitor_tag<N2>::type
 
114
        >::template apply< N1,N2 >::type
 
115
{
 
116
    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
 
117
          5
 
118
        , bitor_
 
119
        , ( N1, N2, na, na, na )
 
120
        )
 
121
 
 
122
};
 
123
 
 
124
BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
 
125
 
 
126
}}
 
127
 
 
128
namespace boost { namespace mpl {
 
129
template<>
 
130
struct bitor_impl< integral_c_tag,integral_c_tag >
 
131
{
 
132
    template< typename N1, typename N2 > struct apply
 
133
 
 
134
        : integral_c<
 
135
              typename aux::largest_int<
 
136
                  typename N1::value_type
 
137
                , typename N2::value_type
 
138
                >::type
 
139
            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
 
140
                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
 
141
                )
 
142
            >
 
143
    {
 
144
    };
 
145
};
 
146
 
 
147
}}