File indexing completed on 2025-01-30 09:48:02
0001
0002 #ifndef BOOST_MPL_AT_HPP_INCLUDED
0003 #define BOOST_MPL_AT_HPP_INCLUDED
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include <boost/mpl/at_fwd.hpp>
0018 #include <boost/mpl/aux_/at_impl.hpp>
0019 #include <boost/mpl/long.hpp>
0020 #include <boost/mpl/sequence_tag.hpp>
0021 #include <boost/mpl/aux_/na_spec.hpp>
0022 #include <boost/mpl/aux_/lambda_support.hpp>
0023 #include <boost/mpl/aux_/nttp_decl.hpp>
0024
0025 namespace boost { namespace mpl {
0026
0027 template<
0028 typename BOOST_MPL_AUX_NA_PARAM(Sequence)
0029 , typename BOOST_MPL_AUX_NA_PARAM(N)
0030 >
0031 struct at
0032 : at_impl< typename sequence_tag<Sequence>::type >
0033 ::template apply< Sequence,N >
0034 {
0035 BOOST_MPL_AUX_LAMBDA_SUPPORT(2,at,(Sequence,N))
0036 };
0037
0038 template<
0039 typename Sequence
0040 , BOOST_MPL_AUX_NTTP_DECL(long, N)
0041 >
0042 struct at_c
0043 : at_impl< typename sequence_tag<Sequence>::type >
0044 ::template apply< Sequence,mpl::long_<N> >
0045 {
0046 };
0047
0048 BOOST_MPL_AUX_NA_SPEC(2, at)
0049
0050 }}
0051
0052 #endif