|
Uni20
Asynchronous tensor and runtime library.
|
Defines the generic categorical dual-space adaptor. More...
#include <uni20/symmetry/block_sector.hpp>#include <uni20/symmetry/qnum.hpp>#include <uni20/symmetry/space.hpp>#include <concepts>#include <cstddef>#include <iterator>#include <ranges>#include <stdexcept>#include <string>#include <type_traits>#include <utility>Go to the source code of this file.
Classes | |
| class | uni20::Dual< SpaceType > |
| Tensor space represented in an explicitly dual basis. More... | |
Namespaces | |
| namespace | uni20 |
Concepts | |
| concept | uni20::DualSpace |
| Space value whose object basis is explicitly dual. | |
Typedefs | |
| template<class T > | |
| using | uni20::primal_space_t = typename detail::PrimalSpaceType< std::remove_cvref_t< T > >::type |
| Remove one explicit dual-space adaptor from a space type. | |
Functions | |
| template<class SpaceType > | |
| auto | uni20::dual (Dual< SpaceType > &&space) -> SpaceType |
| Remove explicit duality while moving a dual-space value. | |
| template<class SpaceType > | |
| auto | uni20::dual (Dual< SpaceType > const &space) -> SpaceType |
| Remove explicit duality from a dual-space value. | |
| template<class SpaceType > | |
| uni20::Dual (SpaceType &&) -> Dual< std::remove_cvref_t< SpaceType > > | |
| template<Space SpaceType> requires (!DualSpace<SpaceType>) | |
| auto | uni20::dual (SpaceType &&space) -> Dual< std::remove_cvref_t< SpaceType > > |
| Construct an explicitly dual basis by moving a space value. | |
| template<Space SpaceType> requires (!DualSpace<SpaceType>) | |
| auto | uni20::dual (SpaceType const &space) -> Dual< std::remove_cvref_t< SpaceType > > |
| Construct an explicitly dual basis without changing occurrence order. | |
Defines the generic categorical dual-space adaptor.