![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/include/boost/spirit/home/classic/core/impl/ |
Upload File : |
/*============================================================================= Copyright (c) 1998-2003 Joel de Guzman http://spirit.sourceforge.net/ Use, modification and distribution is subject to 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_MATCH_IPP) #define BOOST_SPIRIT_MATCH_IPP #include <algorithm> namespace boost { namespace spirit { BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN template <typename T> inline match<T>::match() : len(-1), val() {} template <typename T> inline match<T>::match(std::size_t length_) : len(length_), val() {} template <typename T> inline match<T>::match(std::size_t length_, ctor_param_t val_) : len(length_), val(val_) {} template <typename T> inline bool match<T>::operator!() const { return len < 0; } template <typename T> inline std::ptrdiff_t match<T>::length() const { return len; } template <typename T> inline bool match<T>::has_valid_attribute() const { return val.is_initialized(); } template <typename T> inline typename match<T>::return_t match<T>::value() const { BOOST_SPIRIT_ASSERT(val.is_initialized()); return *val; } template <typename T> inline void match<T>::swap(match& other) { std::swap(len, other.len); std::swap(val, other.val); } inline match<nil_t>::match() : len(-1) {} inline match<nil_t>::match(std::size_t length_) : len(length_) {} inline match<nil_t>::match(std::size_t length_, nil_t) : len(length_) {} inline bool match<nil_t>::operator!() const { return len < 0; } inline bool match<nil_t>::has_valid_attribute() const { return false; } inline std::ptrdiff_t match<nil_t>::length() const { return len; } inline nil_t match<nil_t>::value() const { return nil_t(); } inline void match<nil_t>::value(nil_t) {} inline void match<nil_t>::swap(match<nil_t>& other) { std::swap(len, other.len); } BOOST_SPIRIT_CLASSIC_NAMESPACE_END }} // namespace boost::spirit #endif