12 #ifndef __stir_assign_H__ 13 #define __stir_assign_H__ 49 template <
class T,
class T2>
50 std::enable_if_t<!has_iterator_v<T>>
51 assign(T& x,
const T2& y)
57 template <
class T,
class T2>
58 std::enable_if_t<has_full_iterator_v<T>>
59 assign(T& v,
const T2& y)
61 for (
auto iter = v.begin_all(); iter != v.end_all(); ++iter)
66 template <
class T,
class T2>
67 std::enable_if_t<has_iterator_and_no_full_iterator<T>::value>
68 assign(T& v,
const T2& y)
76 assign(
double& x,
const int y)
78 x =
static_cast<double>(y);
82 assign(
float& x,
const int y)
84 x =
static_cast<float>(y);
defines various type traits, checking for iterators etc