~tsarev/boostdc/cmake

« back to all changes in this revision

Viewing changes to boost/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp

  • Committer: bigmuscle
  • Date: 2010-05-08 08:47:15 UTC
  • Revision ID: svn-v4:5fb55d53-692c-0410-a46a-e90ab66e00ee:trunk:497
removed old boost version

Show diffs side-by-side

added added

removed removed

Lines of Context:
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/aux_/advance_backward.hpp" header
10
 
// -- DO NOT modify by hand!
11
 
 
12
 
namespace boost { namespace mpl { namespace aux {
13
 
 
14
 
template< long N > struct advance_backward;
15
 
template<>
16
 
struct advance_backward<0>
17
 
{
18
 
    template< typename Iterator > struct apply
19
 
    {
20
 
        typedef Iterator iter0;
21
 
        typedef iter0 type;
22
 
    };
23
 
};
24
 
 
25
 
template<>
26
 
struct advance_backward<1>
27
 
{
28
 
    template< typename Iterator > struct apply
29
 
    {
30
 
        typedef Iterator iter0;
31
 
        typedef typename prior<iter0>::type iter1;
32
 
        typedef iter1 type;
33
 
    };
34
 
};
35
 
 
36
 
template<>
37
 
struct advance_backward<2>
38
 
{
39
 
    template< typename Iterator > struct apply
40
 
    {
41
 
        typedef Iterator iter0;
42
 
        typedef typename prior<iter0>::type iter1;
43
 
        typedef typename prior<iter1>::type iter2;
44
 
        typedef iter2 type;
45
 
    };
46
 
};
47
 
 
48
 
template<>
49
 
struct advance_backward<3>
50
 
{
51
 
    template< typename Iterator > struct apply
52
 
    {
53
 
        typedef Iterator iter0;
54
 
        typedef typename prior<iter0>::type iter1;
55
 
        typedef typename prior<iter1>::type iter2;
56
 
        typedef typename prior<iter2>::type iter3;
57
 
        typedef iter3 type;
58
 
    };
59
 
};
60
 
 
61
 
template<>
62
 
struct advance_backward<4>
63
 
{
64
 
    template< typename Iterator > struct apply
65
 
    {
66
 
        typedef Iterator iter0;
67
 
        typedef typename prior<iter0>::type iter1;
68
 
        typedef typename prior<iter1>::type iter2;
69
 
        typedef typename prior<iter2>::type iter3;
70
 
        typedef typename prior<iter3>::type iter4;
71
 
        typedef iter4 type;
72
 
    };
73
 
};
74
 
 
75
 
template< long N >
76
 
struct advance_backward
77
 
{
78
 
    template< typename Iterator > struct apply
79
 
    {
80
 
        typedef typename apply_wrap1<
81
 
              advance_backward<4>
82
 
            , Iterator
83
 
            >::type chunk_result_;
84
 
 
85
 
        typedef typename apply_wrap1<
86
 
              advance_backward<(
87
 
                (N - 4) < 0
88
 
                    ? 0
89
 
                    : N - 4
90
 
                    )>
91
 
            , chunk_result_
92
 
            >::type type;
93
 
    };
94
 
};
95
 
 
96
 
}}}
97