Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:39:14

0001 
0002 // Copyright (C) 2009-2012 Lorenzo Caminiti
0003 // Distributed under the Boost Software License, Version 1.0
0004 // (see accompanying file LICENSE_1_0.txt or a copy at
0005 // http://www.boost.org/LICENSE_1_0.txt)
0006 // Home at http://www.boost.org/libs/local_function
0007 
0008 #ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS_HPP_
0009 #define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS_HPP_
0010 
0011 #include <boost/local_function/aux_/preprocessor/traits/bind.hpp>
0012 #include <boost/local_function/aux_/preprocessor/traits/decl_/index.hpp>
0013 #include <boost/preprocessor/tuple/elem.hpp>
0014 #include <boost/preprocessor/list/transform.hpp>
0015 
0016 // PRIVATE //
0017 
0018 #define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_APPLY_( \
0019         d, bind_macro, bind_traits) \
0020     bind_macro(bind_traits)
0021 
0022 // PUBLIC //
0023 
0024 // Expand: pp-list of const bind-traits.
0025 #define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
0026     BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX, \
0027             BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_CONST_BINDS, \
0028             decl_traits)
0029 
0030 // Expand: pp-list of const bind-this-traits (size <= 1 after validation).
0031 #define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
0032         decl_traits) \
0033     BOOST_PP_TUPLE_ELEM( \
0034           BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX \
0035         , BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_CONST_BIND_THIS_TYPES \
0036         , decl_traits \
0037     )
0038 
0039 #endif // #include guard
0040