⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 action.hpp

📁 support vector clustering for vc++
💻 HPP
字号:
///////////////////////////////////////////////////////////////////////////////
// action.hpp
//
//  Copyright 2004 Eric Niebler. 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)

#ifndef BOOST_XPRESSIVE_DETAIL_CORE_ACTION_HPP_EAN_10_04_2005
#define BOOST_XPRESSIVE_DETAIL_CORE_ACTION_HPP_EAN_10_04_2005

// MS compatible compilers support #pragma once
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
# pragma once
#endif

#include <typeinfo>
#include <stdexcept>
#include <boost/xpressive/detail/detail_fwd.hpp>
#include <boost/xpressive/detail/core/quant_style.hpp>
#include <boost/xpressive/detail/core/action_state.hpp>
#include <boost/xpressive/detail/core/matcher/action_matcher.hpp>

namespace boost { namespace xpressive
{

///////////////////////////////////////////////////////////////////////////////
// action
//
template<typename Action, typename Saved>
struct action
  : detail::action_matcher<Action>
{
    typedef Action action_type;
    typedef Saved saved_type;

    Saved &save()
    {
        return *static_cast<Saved *>(this);
    }

    template<typename BidiIter>
    bool operator ()(match_results<BidiIter> const &match, BidiIter cur)
    {
        return true;
    }

    void restore(Saved const &saved)
    {
        this->action_() = saved;
    }
};

template<typename Action>
struct action<Action, void>
  : action<Action, int>
{
    int save()
    {
        return 0;
    }

    void restore(int)
    {
    }
};

}} // namespace boost::xpressive

#endif

⌨️ 快捷键说明

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