• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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