C++ concepts: NumericType
From cppreference.com
Specifies that the type can be used as the template argument of std::valarray
Requirements
for a type T
to be an NumericType
:
-
T
cannot be a reference -
T
cannot be cv-qualified - If
T
is a class, it
- does not overload operator&
- has no pure virtual member functions (is not abstract)
- has a public default constructor
- has a public copy constructor T::T(const T&)
- has a public destructor
- has a public assignment operator T& T::operator=(const T&) or T& T::operator=(T)
- default constructor followed by assignment has the same effect as copy constructor
- copy constructor with the value
T()
has the same effect as value-initialization - destructor followed by copy constructor has the same effect as assignment
- No operation on
T
may throw exceptions