| 
| 
constexpr  | Vector2 (const Vector2< T > &v)=default | 
|   | Copy constructor. 
  | 
|   | 
| 
constexpr Vector2< T > &  | operator= (const Vector2< T > &in)=default | 
|   | 
| 
constexpr  | Vector2 (const T &x, const T &y) | 
|   | Explicit constructor, from two components. 
  | 
|   | 
| 
constexpr  | Vector2 (const T &t) | 
|   | Explicit contructor, each component is given value t. 
  | 
|   | 
| 
constexpr const T &  | x () const | 
|   | X component access. 
  | 
|   | 
| 
constexpr const T &  | y () const | 
|   | Y component access. 
  | 
|   | 
| 
constexpr const T &  | z () const | 
|   | 
| 
constexpr const T &  | dof (unsigned u) const | 
|   | Access to degree of freedom u (0-1). 
  | 
|   | 
| 
T &  | rx () | 
|   | Reference access to x-component. 
  | 
|   | 
| 
T &  | ry () | 
|   | Reference access to y-component. 
  | 
|   | 
| 
T &  | rz () | 
|   | 
| 
T &  | rdof (unsigned u) | 
|   | Reference accesss to degree-of-freedom u (0-1). 
  | 
|   | 
| 
template<std::size_t N>  | 
| constexpr decltype(auto)  | get () const | 
|   | 
| 
template<>  | 
| constexpr decltype(auto)  | get () const | 
|   | 
| 
constexpr T  | fsum () const | 
|   | Manhattan norm. 
  | 
|   | 
| 
constexpr T  | sum () const | 
|   | Sum of components. 
  | 
|   | 
| 
constexpr T  | mag2 () const | 
|   | Square of the magnitude, or the dot product with itself. 
  | 
|   | 
| 
constexpr T  | mag () const | 
|   | The magnitude. 
  | 
|   | 
| 
constexpr T  | area () const | 
|   | Size of rectangle represented by x*y - can be negative. 
  | 
|   | 
| 
constexpr T  | volume () const | 
|   | Volume of the rectangle assuming unit depth – same as area(), provided for 2D/3D compile compatibility with Cube. 
  | 
|   | 
| 
constexpr T  | spread () const | 
|   | Assumes vector is being used to store a 1D extent– Returns max-min. (y-x). 
  | 
|   | 
| 
constexpr Vector2< T >  | unit () const | 
|   | Unit vector - be sure vector is nonzero. 
  | 
|   | 
| 
constexpr Vector2< T >  | abs () const | 
|   | Returns vector of absolute values of components. 
  | 
|   | 
| 
constexpr void  | fill (const T &d) | 
|   | Fills all three components with value d. 
  | 
|   | 
| 
constexpr T  | maxComp () const | 
|   | Returns the maximum component. 
  | 
|   | 
| 
constexpr T  | minComp () const | 
|   | Returns the minimum component. 
  | 
|   | 
| 
constexpr unsigned  | maxCompIndex () const | 
|   | Returns the max component index. 
  | 
|   | 
| 
constexpr unsigned  | minCompIndex () const | 
|   | Returns the min component index. 
  | 
|   | 
| constexpr bool  | operator== (const Vector2< T > &v) const | 
|   | "Safe" division operation - checks for zero and overflow.  
  | 
|   | 
| 
constexpr bool  | operator!= (const Vector2< T > &v) const | 
|   | Comparison operator - no tolerance is used. 
  | 
|   | 
| 
constexpr bool  | operator< (const Vector2< T > &v) const | 
|   | Comparison operator, based on magnitude. 
  | 
|   | 
| 
constexpr bool  | operator> (const Vector2< T > &v) const | 
|   | Comparison operator, based on magnitude. 
  | 
|   | 
| 
constexpr const Vector2< T > &  | operator+= (const Vector2< T > &v) | 
|   | In place mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis. 
  | 
|   | 
| constexpr const Vector2< T > &  | operator-= (const Vector2< T > &v) | 
|   | In place mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| constexpr const Vector2< T > &  | operator*= (const Vector2< T > &v) | 
|   | In place mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| constexpr const Vector2< T > &  | operator*= (const T &t) | 
|   | In place mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| constexpr const Vector2< T > &  | operator/= (const Vector2< T > &v) | 
|   | In place mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| constexpr const Vector2< T > &  | operator/= (const T &t) | 
|   | In place mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| 
constexpr Vector2< T >  | operator+ (const Vector2< T > &v) const | 
|   | Binary mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis. 
  | 
|   | 
| constexpr Vector2< T >  | operator- (const Vector2< T > &v) const | 
|   | Binary mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| constexpr Vector2< T >  | operator* (const Vector2< T > &v) const | 
|   | Binary mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| constexpr Vector2< T >  | operator* (const T &t) const | 
|   | Binary mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| constexpr Vector2< T >  | operator/ (const Vector2< T > &v) const | 
|   | Binary mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| constexpr Vector2< T >  | operator/ (const T &t) const | 
|   | Binary mathematical operators using vectors and scalars – Note that * and / of Vector2 types are done on a component basis.    
  | 
|   | 
| 
constexpr T  | operator| (const Vector2< T > &v) const | 
|   | Dot Product. 
  | 
|   | 
| 
constexpr const Vector2< T > &  | expandToInclude (const T &t) | 
|   | Expands 1D range to include value t. 
  | 
|   | 
| 
constexpr const Vector2< T > &  | expandToInclude (const Vector2< T > &v) | 
|   | Expands 1D range to include 1D range v. 
  | 
|   | 
| 
constexpr Vector2< T >  | expandedToInclude (const T &t) const | 
|   | Returns 1D range expanded to include value t;. 
  | 
|   | 
| 
constexpr Vector2< T >  | expandedToInclude (const Vector2< T > &v) const | 
|   | Returns 1D range expanded to include 1D range v. 
  | 
|   | 
| 
constexpr bool  | contains (const T &t) const | 
|   | True if value t falls inside this 1D range (inclusive). 
  | 
|   | 
| 
constexpr Vector2< T >  | perp () const | 
|   | 
template<class T>
class Vector2< T >
2D vector utility class.