| 123456789101112131415161718192021222324252627282930313233 | // Copyright 2015-2017 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_LITERALS_HPP#define BOOST_HISTOGRAM_LITERALS_HPP#include <type_traits>namespace boost {namespace histogram {namespace detail {constexpr unsigned parse_number(unsigned n) { return n; }template <class... Rest>constexpr unsigned parse_number(unsigned n, char f, Rest... rest) {  return parse_number(10u * n + static_cast<unsigned>(f - '0'), rest...);}} // namespace detailnamespace literals {/// Suffix operator to generate literal compile-time numbers, 0_c, 12_c, etc.template <char... digits>auto operator"" _c() {  return std::integral_constant<unsigned, detail::parse_number(0, digits...)>();}} // namespace literals} // namespace histogram} // namespace boost#endif
 |