• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 ///////////////////////////////////////////////////////////////////////////////
2 // with_error.hpp
3 //
4 //  Copyright 2005 Eric Niebler. Distributed under the Boost
5 //  Software License, Version 1.0. (See accompanying file
6 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 
8 #ifndef BOOST_ACCUMULATORS_STATISTICS_WITH_ERROR_HPP_EAN_01_11_2005
9 #define BOOST_ACCUMULATORS_STATISTICS_WITH_ERROR_HPP_EAN_01_11_2005
10 
11 #include <boost/preprocessor/repetition/enum_params.hpp>
12 #include <boost/mpl/vector.hpp>
13 #include <boost/mpl/transform_view.hpp>
14 #include <boost/mpl/placeholders.hpp>
15 #include <boost/accumulators/statistics_fwd.hpp>
16 #include <boost/accumulators/statistics/error_of.hpp>
17 
18 namespace boost { namespace accumulators
19 {
20 
21 namespace detail
22 {
23     template<typename Feature>
24     struct error_of_tag
25     {
26         typedef tag::error_of<Feature> type;
27     };
28 }
29 
30 ///////////////////////////////////////////////////////////////////////////////
31 // with_error
32 //
33 template<BOOST_PP_ENUM_PARAMS(BOOST_ACCUMULATORS_MAX_FEATURES, typename Feature)>
34 struct with_error
35   : mpl::transform_view<
36         mpl::vector<BOOST_PP_ENUM_PARAMS(BOOST_ACCUMULATORS_MAX_FEATURES, Feature)>
37       , detail::error_of_tag<mpl::_1>
38     >
39 {
40 };
41 
42 }} // namespace boost::accumulators
43 
44 #endif
45