MathLib
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Friends | List of all members
BasicVector4D< Type >::BasicRef< RType > Struct Template Reference

#include <Vector4D.hpp>

Public Types

Types
using value_type = RType
 The underlying implementation type.
 

Public Member Functions

constexpr BasicRef (RType &x_in, RType &y_in, RType &z_in, RType &w_in)
 
constexpr BasicRef (const BasicRef &)=default
 
constexpr BasicRef (const BasicVector4D< RType > &other)
 
constexpr BasicRef & operator= (BasicRef input)
 
constexpr BasicRef & operator= (const BasicVector4D< RType > &input)
 
constexpr operator BasicVector4D< RType > () const
 
constexpr operator std::tuple< RType, RType, RType, RType > () const
 

Public Attributes

RType & x
 
RType & y
 
RType & z
 
RType & w
 

Friends

template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr bool operator== (BasicRef left, BasicRef< U > right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr bool operator== (BasicRef left, const BasicVector4D< U > &right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator+ (BasicRef left, BasicRef< U > right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator+ (BasicRef left, const BasicVector4D< U > &right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator- (BasicRef left, BasicRef< U > right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator- (BasicRef left, const BasicVector4D< U > &right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator* (BasicRef left, BasicRef< U > right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator* (BasicRef left, const BasicVector4D< U > &right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator* (BasicRef left, const U &scalar)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator* (const U &scalar, BasicRef right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator/ (BasicRef left, BasicRef< U > right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator/ (BasicRef left, const BasicVector4D< U > &right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > operator/ (BasicRef left, const U &scalar)
 
template<class U , std::floating_point OT = float>
requires Concept::SameUnqualified<RType, U>
constexpr bool approximately_equal_to (BasicRef value_to_test, BasicRef< U > value_it_should_be, OT tolerance=OT{0.0002})
 
template<class U , std::floating_point OT = float>
requires Concept::SameUnqualified<RType, U>
constexpr bool approximately_equal_to (BasicRef value_to_test, const BasicVector4D< U > &value_it_should_be, OT tolerance=OT{0.0002})
 
constexpr RType accumulate (BasicRef input)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr RType dot (BasicRef left, BasicRef< U > right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr RType dot (BasicRef left, const BasicVector4D< U > &right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr RType dot_normalized (BasicRef left, BasicRef< U > right)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr RType dot_normalized (BasicRef left, const BasicVector4D< U > &right)
 
constexpr BasicVector4D< RType > normalized (BasicRef input)
 
constexpr BasicVector4D< RType > abs (BasicRef input)
 
BasicVector4D< RType > fract (BasicRef input)
 
constexpr BasicVector4D< RType > saturate (BasicRef input, RType lower_bound, RType upper_bound)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > lerp (BasicRef input_lower_bound, BasicRef< U > input_upper_bound, float percentage_zero_to_one)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > lerp (BasicRef input_lower_bound, BasicVector4D< U > &input_upper_bound, float percentage_zero_to_one)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > mix (BasicRef input_lower_bound, BasicRef< U > input_upper_bound, float percentage_zero_to_one)
 
template<class U >
requires Concept::SameUnqualified<RType, U>
constexpr BasicVector4D< RType > mix (BasicRef input_lower_bound, BasicVector4D< U > &input_upper_bound, float percentage_zero_to_one)
 
std::string format (BasicRef input)
 
template<class U , std::floating_point OT = float>
requires Concept::SameUnqualified<RType, U>
bool check_if_equal (BasicRef input, BasicRef< U > near_to, OT tolerance=OT{0.0002})
 
template<class U , std::floating_point OT = float>
requires Concept::SameUnqualified<RType, U>
bool check_if_equal (BasicRef input, const BasicVector4D< U > &near_to, OT tolerance=OT{0.0002})
 
template<class U , std::floating_point OT = float>
requires Concept::SameUnqualified<RType, U>
bool check_if_not_equal (BasicRef input, BasicRef near_to, OT tolerance=OT{0.0002})
 
template<class U , std::floating_point OT = float>
requires Concept::SameUnqualified<RType, U>
bool check_if_not_equal (BasicRef input, const BasicVector4D< U > &near_to, OT tolerance=OT{0.0002})
 
template<class U , std::floating_point OT = float>
requires Concept::SameUnqualified<RType, U>
void CHECK_IF_NOT_EQUAL (BasicRef input, BasicRef< U > near_to, OT tolerance=OT{0.0002})
 
template<class U , std::floating_point OT = float>
requires Concept::SameUnqualified<RType, U>
void CHECK_IF_NOT_EQUAL (BasicRef input, const BasicVector4D< U > &near_to, OT tolerance=OT{0.0002})
 
template<std::floating_point OT = float>
void CHECK_IF_ZERO (BasicRef input, OT tolerance=OT{0.0002})
 

Detailed Description

template<class Type>
template<class RType>
struct Math::BasicVector4D< Type >::BasicRef< RType >

Class representing a reference to elements of a BasicVector4D object

Note
This class exists to support simple vector swizzle operations.

Definition at line 39 of file Vector4D.hpp.


The documentation for this struct was generated from the following file: