New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
argument_fwd.hpp in vendors/XIOS/current/extern/boost/include/boost/range/adaptor – NEMO

source: vendors/XIOS/current/extern/boost/include/boost/range/adaptor/argument_fwd.hpp @ 3428

Last change on this file since 3428 was 3428, checked in by rblod, 12 years ago

importing initial XIOS vendor drop

File size: 1.7 KB
Line 
1// Boost.Range library
2//
3//  Copyright Thorsten Ottosen, Neil Groves 2006 - 2008. Use, modification and
4//  distribution is subject to the Boost Software License, Version
5//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
6//  http://www.boost.org/LICENSE_1_0.txt)
7//
8// For more information, see http://www.boost.org/libs/range/
9//
10
11#ifndef BOOST_RANGE_ADAPTOR_ARGUMENT_FWD_HPP
12#define BOOST_RANGE_ADAPTOR_ARGUMENT_FWD_HPP
13
14#include <boost/config.hpp>
15
16#ifdef BOOST_MSVC
17#pragma warning(push)
18#pragma warning(disable : 4512) // assignment operator could not be generated
19#endif
20
21namespace boost
22{
23    namespace range_detail
24    { 
25        template< class T >
26        struct holder
27        {
28            T val;
29            holder( T t ) : val(t)
30            { }
31        };
32
33        template< class T >
34        struct holder2
35        {
36            T val1, val2;
37            holder2( T t, T u ) : val1(t), val2(u)
38            { }
39        };
40       
41        template< template<class> class Holder >
42        struct forwarder
43        {
44            template< class T >
45            Holder<T> operator()( T t ) const
46            {
47                return Holder<T>(t);
48            }
49        };
50
51        template< template<class> class Holder >
52        struct forwarder2
53        {
54            template< class T >
55            Holder<T> operator()( T t, T u ) const
56            {
57                return Holder<T>(t,u);
58            }
59        };
60
61        template< template<class,class> class Holder >
62        struct forwarder2TU
63        {
64            template< class T, class U >
65            Holder<T, U> operator()( T t, U u ) const
66            {
67                return Holder<T, U>(t, u);
68            }
69        };
70
71
72    } 
73       
74}
75
76#ifdef BOOST_MSVC
77#pragma warning(pop)
78#endif
79
80#endif
Note: See TracBrowser for help on using the repository browser.