HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Users/fred/anaconda3/Library/include/boost/spirit/home/x3/support/traits/pseudo_attribute.hpp
/*=============================================================================
    Copyright (c) 2019 Joel de Guzman

    Distributed under the Boost Software License, Version 1.0. (See accompanying
    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
#if !defined(BOOST_SPIRIT_X3_PSEUDO_ATTRIBUTE_OF_MAY_15_2019_1012PM)
#define BOOST_SPIRIT_X3_PSEUDO_ATTRIBUTE_OF_MAY_15_2019_1012PM

#include <utility>

namespace boost { namespace spirit { namespace x3 { namespace traits
{
    ///////////////////////////////////////////////////////////////////////////
    // Pseudo attributes are placeholders for parsers that can only know
    // its actual attribute at parse time. This trait customization point
    // provides a mechanism to convert the trait to the actual trait at
    // parse time.
    ///////////////////////////////////////////////////////////////////////////
    template <typename Context, typename Attribute, typename Iterator
      , typename Enable = void>
    struct pseudo_attribute
    {
        using attribute_type = Attribute;
        using type = Attribute;

        static type&& call(Iterator&, Iterator const&, attribute_type&& attribute)
        {
            return std::forward<type>(attribute);
        }
    };
}}}}

#endif