File indexing completed on 2025-01-18 09:40:50
0001 #ifndef BOOST_METAPARSE_V1_TRANSFORM_ERROR_HPP
0002 #define BOOST_METAPARSE_V1_TRANSFORM_ERROR_HPP
0003
0004
0005
0006
0007
0008
0009 #include <boost/metaparse/v1/is_error.hpp>
0010
0011 #include <boost/mpl/eval_if.hpp>
0012
0013 namespace boost
0014 {
0015 namespace metaparse
0016 {
0017 namespace v1
0018 {
0019 template <class P, class F>
0020 struct transform_error
0021 {
0022 template <class S, class Pos>
0023 struct apply :
0024 boost::mpl::eval_if<
0025 typename is_error<typename P::template apply<S, Pos> >::type,
0026 typename F::template apply<
0027 typename P::template apply<S, Pos>::type
0028 >,
0029 typename P::template apply<S, Pos>
0030 >
0031 {};
0032
0033 typedef transform_error type;
0034 };
0035 }
0036 }
0037 }
0038
0039 #endif
0040