// 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 #include namespace boost { namespace histogram { /** Sample holder and type envelope. You should not construct these directly, use the sample() helper function. @tparam Underlying type. */ template struct sample_type { T value; }; /** Helper function to mark arguments as sample. @param ts arguments to be forwarded to the accumulator. */ template auto sample(Ts&&... ts) noexcept { return sample_type>{std::forward_as_tuple(std::forward(ts)...)}; } } // namespace histogram } // namespace boost #endif