21 #define _UTILITY_HPP_ 1
28 #include <type_traits>
34 template <
typename A,
35 typename B >
using common_t =
typename std::common_type< A, B >::type;
37 template <
typename A,
38 typename B >
using common_v_t = std::vector< common_t< A, B > >;
53 template <
typename A,
55 typename std::enable_if< std::is_arithmetic< A >::value >::type* =
nullptr,
56 typename std::enable_if< std::is_arithmetic< B >::value >::type* =
nullptr >
61 const common_t< A, B > delta = 1 )
65 const auto cap( (b - a + delta) / delta );
66 common_v_t< A, B > out( cap );
68 for( common_t< A, B > i( a );
69 std::islessequal( i, b + delta ); i += delta, index++ )
73 return( std::forward< common_v_t< A, B > >( out ) );
77 const auto cap( (a - b + delta ) / delta );
78 common_v_t< A, B > out( cap );
80 for( common_t< A, B > i( a );
81 std::isgreaterequal( i, b - delta ); i -= delta, index++ )
85 return( std::forward< common_v_t< A, B > >( out ) );
Definition: globalmap.cpp:3