1 #ifndef BOOST_METAPARSE_V1_FAIL_TAG_HPP 2 #define BOOST_METAPARSE_V1_FAIL_TAG_HPP 3 4 // Copyright Abel Sinkovics (abel@sinkovics.hu) 2009 - 2012. 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 10 #include <boost/metaparse/v1/fwd/get_message.hpp> 11 #include <boost/metaparse/v1/fwd/get_position.hpp> 12 13 #include <iostream> 14 15 namespace boost 16 { 17 namespace metaparse 18 { 19 namespace v1 20 { 21 struct fail_tag { typedef fail_tag type; }; 22 23 template <> 24 struct get_message_impl<fail_tag> 25 { 26 template <class A> 27 struct apply { typedef typename A::message type; }; 28 }; 29 30 template <> 31 struct get_position_impl<fail_tag> 32 { 33 template <class A> 34 struct apply : A::source_position {}; 35 }; 36 } 37 } 38 } 39 40 #endif 41 42 43