This class holds references to K values of type T.
More...
#include <cvb/block.hpp>
|
template<class... TT> |
| ConstRefValue (const TT &... refs) |
| Constructor from reference values. More...
|
|
| ConstRefValue (const ConstRefValue &) noexcept=default |
| Default copy Ctor.
|
|
ConstRefValue & | operator= (const ConstRefValue &) noexcept=default |
| Default copy assignment.
|
|
template<class Ty > |
Ty | Cast () const noexcept |
| Cast to any type, for which a set<size_t>(Ty) function exists. More...
|
|
T | X () const noexcept |
| Get const value of the first (x) value. More...
|
|
template<size_t N = K, std::enable_if_t< less< 1, N >::value, int > = 0> |
T | Y () const noexcept |
| Get const value of the second (y) value. More...
|
|
template<size_t N = K, std::enable_if_t< less< 2, N >::value, int > = 0> |
T | Z () const noexcept |
| Get const value of the third (z) value. More...
|
|
template<size_t N = K, std::enable_if_t< less< 3, N >::value, int > = 0> |
T | W () const noexcept |
| Get const value of the fourth (w) value. More...
|
|
T | operator[] (size_t i) const noexcept |
| Element access. More...
|
|
|
(Note that these are not member functions.)
|
template<size_t I, class T , size_t K, std::enable_if_t< less< I, K >::value, int > = 0> |
auto | get (const ConstRefValue< T, K > &refVal) noexcept -> decltype(refVal[I]) |
| Get's the I-th element of the ConstRefValue<T,K>. More...
|
|
template<size_t I, class Ty , size_t K> |
CVB_FORCE_INLINE void | internal_set (ConstRefValue< Ty, K > &refVal, const Ty *val) noexcept |
| Set's the I-th pointer in the ConstRefValue<T,K> refVal. More...
|
|
template<class T, size_t K>
class Cvb::ConstRefValue< T, K >
This class holds references to K values of type T.
- See also
- Block, Visit
◆ ConstRefValue()
Constructor from reference values.
- Parameters
-
[in] | refs | K references to values that are stored in the order of the parameters. |
◆ Cast()
Cast to any type, for which a set<size_t>(Ty) function exists.
- Template Parameters
-
Ty | Target type, for which a Cvb::set<size_t>(Ty) function exists. |
- Returns
- A newly constructed object of Ty.
◆ NumValues()
static constexpr size_t NumValues |
( |
| ) |
|
|
inlinestaticnoexcept |
Get number of values stored in this ConstRefValue.
- Returns
- size_t The number of values K.
◆ operator[]()
T operator[] |
( |
size_t |
i | ) |
const |
|
inlinenoexcept |
Element access.
- Parameters
-
[in] | i | The index of the requested element. |
- Returns
- T The value of the i-th element.
◆ W()
Get const value of the fourth (w) value.
- Returns
- The w value.
◆ X()
Get const value of the first (x) value.
- Returns
- The x value.
◆ Y()
Get const value of the second (y) value.
- Returns
- The y value.
◆ Z()
Get const value of the third (z) value.
- Returns
- The z value.
◆ get()
auto get |
( |
const ConstRefValue< T, K > & |
refVal | ) |
-> decltype(refVal[I])
|
|
related |
Get's the I-th element of the ConstRefValue<T,K>.
- See also
- Block, Visit
- Precondition
- I < K
- Template Parameters
-
I | The index of the element. |
- Parameters
-
refVal | The ConstRefValue<T,K> to retrieve the I-th element from. |
- Returns
- The I-th element of refVal.
◆ internal_set()
CVB_FORCE_INLINE void internal_set |
( |
ConstRefValue< Ty, K > & |
refVal, |
|
|
const Ty * |
val |
|
) |
| |
|
related |
Set's the I-th pointer in the ConstRefValue<T,K> refVal.
- See also
- Block, Visit
- Precondition
- I < K
- Template Parameters
-
I | The index of the pointer to set. |
- Parameters
-
refVal | The ConstRefValue<T,K> to set the I-th pointer in. |
val | The pointer to be set as the I-th element of refVal. |