iris::build::Expr< V, S > Class Template Reference
Doxygen 1.15.0 generates this reference during each site build from the public headers. The C++ guide shows the API in use.
An expression with value type V and shape S. More...
#include <iris/build.hpp>
Public Member Functions | |
| template<Operand I> requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>> | |
| Expr< V, Open > | operator[] (I &&index) const & |
| Element index of this array. | |
| template<Operand I> requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>> | |
| Expr< V, Open > | operator[] (I &&index) && |
| Element index of this array. | |
| template<class F, std::size_t H, Presence P> requires std::same_as<S, Open> || std::same_as<V, Dynamic> | |
| Expr< F, Open > | get (const Field< F, H, P > &field) const & |
| The field field of this record. | |
| template<class F, std::size_t H, Presence P> requires std::same_as<S, Open> || std::same_as<V, Dynamic> | |
| Expr< F, Open > | get (const Field< F, H, P > &field) && |
| The field field of this record. | |
| Expr< Dynamic, Scalar > | dynamic () const & |
| This expression with its type and depth forgotten. | |
| Expr< Dynamic, Scalar > | dynamic () && |
| This expression with its type and depth forgotten. | |
Detailed Description
template<class V, class S = Scalar>
class iris::build::Expr< V, S >
class iris::build::Expr< V, S >
An expression with value type V and shape S.
Operators and the functions of this namespace make expressions from operands. An expression of shape Open looks a value up and can be indexed with [] and projected with get(); so can one of value type Dynamic.
- Template Parameters
-
V the value type (see iris::HandleValue) S Scalar or Open
Member Function Documentation
dynamic() [1/2]
template<class V, class S = Scalar>
|
inlinenodiscard |
This expression with its type and depth forgotten.
dynamic() [2/2]
template<class V, class S = Scalar>
|
inlinenodiscard |
This expression with its type and depth forgotten.
get() [1/2]
template<class F, std::size_t H, Presence P>
requires std::same_as<S, Open> || std::same_as<V, Dynamic>
requires std::same_as<S, Open> || std::same_as<V, Dynamic>
| Expr< F, Open > iris::build::Expr< V, S >::get | ( | const Field< F, H, P > & | field | ) | && |
The field field of this record.
get() [2/2]
template<class F, std::size_t H, Presence P>
requires std::same_as<S, Open> || std::same_as<V, Dynamic>
requires std::same_as<S, Open> || std::same_as<V, Dynamic>
|
nodiscard |
The field field of this record.
operator[]() [1/2]
template<class V, class S>
requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>>
requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>>
template<Operand I>
requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>>
requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>>
| Expr< V, Open > iris::build::Expr< V, S >::operator[] | ( | I && | index | ) | && |
Element index of this array.
operator[]() [2/2]
template<class V, class S>
requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>>
requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>>
template<Operand I>
requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>>
requires (std::same_as<S, Open> || std::same_as<V, Dynamic>) && Integral<ValueOf<I>>
| Expr< V, Open > iris::build::Expr< V, S >::operator[] | ( | I && | index | ) | const & |
Element index of this array.