Namespaces
Variants
Views
Actions

C++ named requirements: NumericType

From cppreference.com
< cpp‎ | named req
Revision as of 13:58, 15 June 2018 by T. Canens (Talk | contribs)

 
 
C++ named requirements
 

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