1 #ifndef BOOST_METAPARSE_V1_UTIL_UNLESS_ERROR_HPP 2 #define BOOST_METAPARSE_V1_UTIL_UNLESS_ERROR_HPP 3 4 // Copyright Abel Sinkovics (abel@sinkovics.hu) 2011. 5 // Distributed under the Boost Software License, Version 1.0. 6 // (See accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt) 8 9 #include <boost/metaparse/v1/is_error.hpp> 10 11 #include <boost/mpl/equal_to.hpp> 12 #include <boost/mpl/eval_if.hpp> 13 14 namespace boost 15 { 16 namespace metaparse 17 { 18 namespace v1 19 { 20 template <class T, class NotErrorCase> 21 struct unless_error : 22 boost::mpl::eval_if<typename is_error<T>::type, T, NotErrorCase> 23 {}; 24 } 25 } 26 } 27 28 #endif 29 30