template<typename Real, template<typename> typename V = Vec3>
hub::Types struct

Template parameters
Real The basic scalar type, i.e float, double, etc.
V

Contents

Type system that is used across the Space Hub system. This type class provide all basic type i.e Scalar, Vector, ScalarArray, Coord and etc,.

Public types

using Scalar = typename raw_type<Real>::type
using ScalarArray = Container<Scalar>
using IntArray = Container<int>
using IdxArray = Container<size_t>
using Vector = V<Scalar>
using VectorArray = SSO_vec_vector<Vector>

Typedef documentation

template<typename Real, template<typename> typename V>
using hub::Types<Real, V>::Scalar = typename raw_type<Real>::type

Floating point like type cross the system

template<typename Real, template<typename> typename V>
using hub::Types<Real, V>::ScalarArray = Container<Scalar>

1-d array with value type Scalar. Alias of Container<Scalar>.

template<typename Real, template<typename> typename V>
using hub::Types<Real, V>::IntArray = Container<int>

1-d array with value type int. Alias of Container<int>.

template<typename Real, template<typename> typename V>
using hub::Types<Real, V>::IdxArray = Container<size_t>

1-d array with value type size_t. Alias of Container<size_t>.

template<typename Real, template<typename> typename V>
using hub::Types<Real, V>::Vector = V<Scalar>

3-d math vector (x, y, z) with Scalar type of x, y, z. Use genetic Vec3 by default, but can be replaced with any other implementation implements interfaces defined in Vec3.

template<typename Real, template<typename> typename V>
using hub::Types<Real, V>::VectorArray = SSO_vec_vector<Vector>

1-d array with value type Vector, Alias of Container<Vector>.