File indexing completed on 2025-01-18 09:51:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef BOOST_RANGE_ADAPTOR_ARGUMENT_FWD_HPP
0012 #define BOOST_RANGE_ADAPTOR_ARGUMENT_FWD_HPP
0013
0014 #include <boost/config.hpp>
0015
0016 #ifdef BOOST_MSVC
0017 #pragma warning(push)
0018 #pragma warning(disable : 4512)
0019 #endif
0020
0021 namespace boost
0022 {
0023 namespace range_detail
0024 {
0025 template< class T >
0026 struct holder
0027 {
0028 T val;
0029 holder( T t ) : val(t)
0030 { }
0031 };
0032
0033 template< class T >
0034 struct holder2
0035 {
0036 T val1, val2;
0037 holder2( T t, T u ) : val1(t), val2(u)
0038 { }
0039 };
0040
0041 template< template<class> class Holder >
0042 struct forwarder
0043 {
0044 template< class T >
0045 Holder<T> operator()( T t ) const
0046 {
0047 return Holder<T>(t);
0048 }
0049 };
0050
0051 template< template<class> class Holder >
0052 struct forwarder2
0053 {
0054 template< class T >
0055 Holder<T> operator()( T t, T u ) const
0056 {
0057 return Holder<T>(t,u);
0058 }
0059 };
0060
0061 template< template<class,class> class Holder >
0062 struct forwarder2TU
0063 {
0064 template< class T, class U >
0065 Holder<T, U> operator()( T t, U u ) const
0066 {
0067 return Holder<T, U>(t, u);
0068 }
0069 };
0070
0071
0072 }
0073
0074 }
0075
0076 #ifdef BOOST_MSVC
0077 #pragma warning(pop)
0078 #endif
0079
0080 #endif