count.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 79 行

HPP
79
字号
///////////////////////////////////////////////////////////////////////////////// count.hpp////  Copyright 2005 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_ACCUMULATORS_STATISTICS_COUNT_HPP_EAN_28_10_2005#define BOOST_ACCUMULATORS_STATISTICS_COUNT_HPP_EAN_28_10_2005#include <boost/mpl/always.hpp>#include <boost/accumulators/framework/accumulator_base.hpp>#include <boost/accumulators/framework/extractor.hpp>#include <boost/accumulators/framework/depends_on.hpp>#include <boost/accumulators/statistics_fwd.hpp>namespace boost { namespace accumulators{namespace impl{    ///////////////////////////////////////////////////////////////////////////////    // count_impl    struct count_impl      : accumulator_base    {        // for boost::result_of        typedef std::size_t result_type;        count_impl(dont_care)          : cnt(0)        {        }        void operator ()(dont_care)        {            ++this->cnt;        }        result_type result(dont_care) const        {            return this->cnt;        }    private:        std::size_t cnt;    };} // namespace impl///////////////////////////////////////////////////////////////////////////////// tag::count//namespace tag{    struct count      : depends_on<>    {        /// INTERNAL ONLY        ///        typedef mpl::always<accumulators::impl::count_impl> impl;    };}///////////////////////////////////////////////////////////////////////////////// extract::count//namespace extract{    extractor<tag::count> const count = {};}using extract::count;}} // namespace boost::accumulators#endif

⌨️ 快捷键说明

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