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