File indexing completed on 2025-01-18 09:30:52
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef BOOST_FLYWEIGHT_DETAIL_NESTED_XXX_IF_NOT_PH_HPP
0010 #define BOOST_FLYWEIGHT_DETAIL_NESTED_XXX_IF_NOT_PH_HPP
0011
0012 #if defined(_MSC_VER)
0013 #pragma once
0014 #endif
0015
0016 #include <boost/flyweight/detail/is_placeholder_expr.hpp>
0017 #include <boost/mpl/if.hpp>
0018
0019
0020
0021
0022
0023 #define BOOST_FLYWEIGHT_NESTED_XXX_IF_NOT_PLACEHOLDER_EXPRESSION_DEF(name) \
0024 struct nested_##name##_if_not_placeholder_expression_helper \
0025 { \
0026 typedef int name; \
0027 }; \
0028 \
0029 template<typename T> \
0030 struct nested_##name##_if_not_placeholder_expression \
0031 { \
0032 typedef typename boost::mpl::if_< \
0033 boost::flyweights::detail::is_placeholder_expression<T>, \
0034 nested_##name##_if_not_placeholder_expression_helper, \
0035 T \
0036 >::type::name type; \
0037 };
0038
0039 #endif