9 #ifndef ALPS_TYPE_TRAITS_SLICE_HPP 10 #define ALPS_TYPE_TRAITS_SLICE_HPP 15 #include <type_traits> 26 typename std::enable_if<is_sequence<T>::value,
35 typename std::enable_if<!is_sequence<T>::value,
43 template <
class ValueType>
44 typename std::enable_if<is_sequence<ValueType>::value, std::string>
::type 47 return std::to_string(i);
50 template <
class ValueType>
51 typename std::enable_if<!is_sequence<ValueType>::value, std::string>
::type 57 template <
class ValueType>
58 typename std::enable_if<is_sequence<ValueType>::value,
66 template <
class ValueType>
67 typename std::enable_if<!is_sequence<ValueType>::value, ValueType
const&>
::type 73 template <
class ValueType>
74 typename std::enable_if<is_sequence<ValueType>::value,
82 template <
class ValueType>
83 typename std::enable_if<!is_sequence<ValueType>::value, ValueType&>
::type 89 template <
class ValueType>
96 result_type
operator()(ValueType
const& x, second_argument_type i)
const 105 #endif // ALPS_TYPE_TRAITS_ELEMENT_TYPE_H element_type< ValueType >::type result_type
slice_index< ValueType >::type second_argument_type
std::enable_if< is_sequence< ValueType >::value, std::string >::type slice_name(ValueType const &, unsigned i)
ValueType const & first_argument_type
result_type operator()(ValueType const &x, second_argument_type i) const
std::enable_if< is_sequence< T >::value, std::pair< typename slice_index< T >::type, typename slice_index< T >::type >>::type slices(T const &x)
std::enable_if< is_sequence< ValueType >::value, typename element_type< ValueType >::type >::type slice_value(ValueType const &x, unsigned i)