|
||||
File indexing completed on 2025-01-31 10:02:38
0001 /*============================================================================= 0002 Copyright (c) 2019 Joel de Guzman 0003 0004 Distributed under the Boost Software License, Version 1.0. (See accompanying 0005 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 0006 =============================================================================*/ 0007 #if !defined(BOOST_SPIRIT_X3_PSEUDO_ATTRIBUTE_OF_MAY_15_2019_1012PM) 0008 #define BOOST_SPIRIT_X3_PSEUDO_ATTRIBUTE_OF_MAY_15_2019_1012PM 0009 0010 #include <utility> 0011 0012 namespace boost { namespace spirit { namespace x3 { namespace traits 0013 { 0014 /////////////////////////////////////////////////////////////////////////// 0015 // Pseudo attributes are placeholders for parsers that can only know 0016 // its actual attribute at parse time. This trait customization point 0017 // provides a mechanism to convert the trait to the actual trait at 0018 // parse time. 0019 /////////////////////////////////////////////////////////////////////////// 0020 template <typename Context, typename Attribute, typename Iterator 0021 , typename Enable = void> 0022 struct pseudo_attribute 0023 { 0024 using attribute_type = Attribute; 0025 using type = Attribute; 0026 0027 static type&& call(Iterator&, Iterator const&, attribute_type&& attribute) 0028 { 0029 return std::forward<type>(attribute); 0030 } 0031 }; 0032 }}}} 0033 0034 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |