feat():initial version
This commit is contained in:
39
install/boost_1_75_0/include/boost/histogram/sample.hpp
Normal file
39
install/boost_1_75_0/include/boost/histogram/sample.hpp
Normal file
@@ -0,0 +1,39 @@
|
||||
// Copyright 2019 Hans Dembinski
|
||||
//
|
||||
// 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_HISTOGRAM_SAMPLE_HPP
|
||||
#define BOOST_HISTOGRAM_SAMPLE_HPP
|
||||
|
||||
#include <tuple>
|
||||
#include <utility>
|
||||
|
||||
namespace boost {
|
||||
namespace histogram {
|
||||
|
||||
/** Sample holder and type envelope.
|
||||
|
||||
You should not construct these directly, use the sample() helper function.
|
||||
|
||||
@tparam Underlying type.
|
||||
*/
|
||||
template <class T>
|
||||
struct sample_type {
|
||||
T value;
|
||||
};
|
||||
|
||||
/** Helper function to mark arguments as sample.
|
||||
|
||||
@param ts arguments to be forwarded to the accumulator.
|
||||
*/
|
||||
template <class... Ts>
|
||||
auto sample(Ts&&... ts) noexcept {
|
||||
return sample_type<std::tuple<Ts...>>{std::forward_as_tuple(std::forward<Ts>(ts)...)};
|
||||
}
|
||||
|
||||
} // namespace histogram
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user