// Copyright 2015-2018 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_DETAIL_ARGS_TYPE_HPP #define BOOST_HISTOGRAM_DETAIL_ARGS_TYPE_HPP #include namespace boost { namespace histogram { namespace detail { template struct args_type_impl { using T::ERROR_this_should_never_be_instantiated_please_write_an_issue; }; template struct args_type_impl { using type = std::tuple; }; template struct args_type_impl { using type = std::tuple; }; template struct args_type_impl { using type = std::tuple; }; #if __cpp_noexcept_function_type >= 201510 template struct args_type_impl { using type = std::tuple; }; template struct args_type_impl { using type = std::tuple; }; template struct args_type_impl { using type = std::tuple; }; #endif template using args_type = typename args_type_impl::type; template using arg_type = std::tuple_element_t>; } // namespace detail } // namespace histogram } // namespace boost #endif