Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:42:42

0001 ///////////////////////////////////////////////////////////////////////////////
0002 // accumulator_base.hpp
0003 //
0004 //  Copyright 2005 Eric Niebler. Distributed under the Boost
0005 //  Software License, Version 1.0. (See accompanying file
0006 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 
0008 #ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_BASE_HPP_EAN_28_10_2005
0009 #define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_BASE_HPP_EAN_28_10_2005
0010 
0011 #include <boost/mpl/placeholders.hpp>
0012 #include <boost/mpl/joint_view.hpp>
0013 #include <boost/mpl/single_view.hpp>
0014 #include <boost/mpl/fold.hpp>
0015 #include <boost/mpl/contains.hpp>
0016 #include <boost/mpl/empty_sequence.hpp>
0017 #include <boost/accumulators/framework/accumulator_concept.hpp>
0018 
0019 namespace boost { namespace accumulators
0020 {
0021 
0022 namespace detail
0023 {
0024     typedef void void_;
0025 }
0026 
0027 ///////////////////////////////////////////////////////////////////////////////
0028 // dont_care
0029 //
0030 struct dont_care
0031 {
0032     template<typename Args>
0033     dont_care(Args const &)
0034     {
0035     }
0036 };
0037 
0038 ///////////////////////////////////////////////////////////////////////////////
0039 // accumulator_base
0040 //
0041 struct accumulator_base
0042 {
0043     // hidden if defined in derived classes
0044     detail::void_ operator ()(dont_care)
0045     {
0046     }
0047 
0048     typedef mpl::false_ is_droppable;
0049 
0050     detail::void_ add_ref(dont_care)
0051     {
0052     }
0053 
0054     detail::void_ drop(dont_care)
0055     {
0056     }
0057 
0058     detail::void_ on_drop(dont_care)
0059     {
0060     }
0061 };
0062 
0063 }} // namespace boost::accumulators
0064 
0065 #endif