|
Uni20
Asynchronous tensor and runtime library.
|
Ordered domain spaces of a tensor morphism. More...
#include <morphism_boundary.hpp>
Public Types | |
| template<std::size_t I> | |
| using | space_type = std::tuple_element_t< I, tuple_type > |
| Type of one domain space. | |
| using | tuple_type = std::tuple< Spaces... > |
| Tuple containing the ordered domain-space types. | |
Public Member Functions | |
| Domain (Spaces... spaces) | |
| Construct a domain from ordered space values. | |
| auto | operator== (Domain const &other) const -> bool=default |
| Compare ordered domain spaces for exact equality. | |
| template<std::size_t I> | |
| void | set_label (std::string label) |
| Replace one domain leg label without changing its structure. | |
| template<std::size_t I> | |
| constexpr auto | space () const &noexcept -> space_type< I > const & |
| Return one domain space by position. | |
| constexpr auto | spaces () const &noexcept -> tuple_type const & |
| Return the ordered domain-space tuple. | |
Static Public Member Functions | |
| static constexpr auto | empty () noexcept -> bool |
| Return whether the domain is the tensor unit. | |
| static constexpr auto | size () noexcept -> std::size_t |
| Return the number of domain factors. | |
Ordered domain spaces of a tensor morphism.
Space structure is exposed read-only. Leg labels may be changed explicitly with set_label<I>().
| Spaces | Concrete space value types in domain order. |
| using uni20::Domain< Spaces >::space_type = std::tuple_element_t<I, tuple_type> |
Type of one domain space.
| I | Zero-based position in the domain. |
| using uni20::Domain< Spaces >::tuple_type = std::tuple<Spaces...> |
Tuple containing the ordered domain-space types.
|
inlineexplicit |
Construct a domain from ordered space values.
| spaces | Space values in domain order. |
|
inlinestaticconstexprnoexcept |
Return whether the domain is the tensor unit.
true when the domain contains no factors.
|
default |
Compare ordered domain spaces for exact equality.
| other | Other domain value. |
true when all space structures and labels are equal.
|
inline |
Replace one domain leg label without changing its structure.
| I | Zero-based position in the domain. |
| label | New semantic leg label. |
|
inlinestaticconstexprnoexcept |
Return the number of domain factors.
|
inlineconstexprnoexcept |
Return one domain space by position.
| I | Zero-based position in the domain. |
|
inlineconstexprnoexcept |
Return the ordered domain-space tuple.