7 #include <boost/range/irange.hpp> 17 template<
typename Integer>
19 return boost::integer_range<Integer>(0, last);
22 template<
typename Integer>
24 BOOST_ASSERT( first <= last );
25 return boost::integer_range<Integer>(first, last);
28 template <
typename Enumeration>
29 decltype(
auto)
to_int(Enumeration value) {
30 return static_cast<typename std::underlying_type<Enumeration>::type
>(value);
33 template <
typename Enumeration>
34 using Unsigned =
typename std::make_unsigned<typename std::underlying_type<Enumeration>::type>;
36 template <
typename Enumeration>
decltype(auto) IntegerRange(Integer last)
Definition: Types.hh:18
decltype(auto) to_int(Enumeration value)
Definition: Types.hh:29
Boosted Collider Analysis.
Definition: Analysis.hh:15
typename std::make_unsigned< typename std::underlying_type< Enumeration >::type > Unsigned
Definition: Types.hh:34
decltype(auto) to_unsigned(Enumeration value)
Definition: Types.hh:37