match.ipp

来自「CGAL is a collaborative effort of severa」· IPP 代码 · 共 110 行

IPP
110
字号
/*=============================================================================    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{    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);    }}} // namespace boost::spirit#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?