Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::ValidVector3Type Concept Reference

A temporary concept to check if a type is a valid AVector3 type TODO(palmerb4): Extend this concept to contain all shared setters and getters for our vectors.

#include <Vector3.hpp>

Concept definition

template<typename Vector3Type>
concept ValidVector3Type = is_vector3_v<std::decay_t<Vector3Type>> &&
requires(std::decay_t<Vector3Type> vector3, const std::decay_t<Vector3Type> const_vector3) {
typename std::decay_t<Vector3Type>::value_type;
{ vector3[0] } -> std::convertible_to<typename std::decay_t<Vector3Type>::value_type>;
{ vector3[1] } -> std::convertible_to<typename std::decay_t<Vector3Type>::value_type>;
{ vector3[2] } -> std::convertible_to<typename std::decay_t<Vector3Type>::value_type>;
{ vector3(0) } -> std::convertible_to<typename std::decay_t<Vector3Type>::value_type>;
{ vector3(1) } -> std::convertible_to<typename std::decay_t<Vector3Type>::value_type>;
{ vector3(2) } -> std::convertible_to<typename std::decay_t<Vector3Type>::value_type>;
{
const_vector3[0]
} -> std::convertible_to<const typename std::decay_t<Vector3Type>::value_type>;
{
const_vector3[1]
} -> std::convertible_to<const typename std::decay_t<Vector3Type>::value_type>;
{
const_vector3[2]
} -> std::convertible_to<const typename std::decay_t<Vector3Type>::value_type>;
{
const_vector3(0)
} -> std::convertible_to<const typename std::decay_t<Vector3Type>::value_type>;
{
const_vector3(1)
} -> std::convertible_to<const typename std::decay_t<Vector3Type>::value_type>;
{
const_vector3(2)
} -> std::convertible_to<const typename std::decay_t<Vector3Type>::value_type>;
}
A temporary concept to check if a type is a valid AVector3 type TODO(palmerb4): Extend this concept t...
Definition Vector3.hpp:48
vector3
Definition Vector.hpp:1096