Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
uni20::BlockKey< CoordinateCount > Class Template Reference

Opaque logical block-selection coordinates in boundary order. More...

#include <block_key.hpp>

Public Member Functions

constexpr BlockKey ()=default
 Construct the all-zero coordinate.
 
constexpr BlockKey (std::array< std::size_t, CoordinateCount > coordinates)
 Construct from one coordinate per selectable boundary factor.
 
constexpr auto coordinate (std::size_t axis) const -> std::size_t
 Return one factor coordinate.
 
auto operator<=> (BlockKey const &) const =default
 Compare block coordinates lexicographically.
 

Static Public Member Functions

static constexpr auto size () noexcept -> std::size_t
 Return the compile-time number of stored coordinates.
 

Detailed Description

template<std::size_t CoordinateCount>
class uni20::BlockKey< CoordinateCount >

Opaque logical block-selection coordinates in boundary order.

Only boundary spaces with a selectable structural choice contribute a coordinate. Fixed QNumSpace and DenseSpace factors do not.

Template Parameters
CoordinateCountNumber of stored block-selection coordinates.

Constructor & Destructor Documentation

◆ BlockKey() [1/2]

template<std::size_t CoordinateCount>
constexpr uni20::BlockKey< CoordinateCount >::BlockKey ( )
constexprdefault

Construct the all-zero coordinate.

◆ BlockKey() [2/2]

template<std::size_t CoordinateCount>
constexpr uni20::BlockKey< CoordinateCount >::BlockKey ( std::array< std::size_t, CoordinateCount >  coordinates)
inlineexplicitconstexpr

Construct from one coordinate per selectable boundary factor.

Parameters
coordinatesCoordinate-bearing domain factors followed by coordinate-bearing codomain factors.

Member Function Documentation

◆ coordinate()

template<std::size_t CoordinateCount>
constexpr auto uni20::BlockKey< CoordinateCount >::coordinate ( std::size_t  axis) const -> std::size_t
inlineconstexpr

Return one factor coordinate.

Parameters
axisPosition among coordinate-bearing factors in filtered domain-then-codomain order.

◆ operator<=>()

template<std::size_t CoordinateCount>
auto uni20::BlockKey< CoordinateCount >::operator<=> ( BlockKey< CoordinateCount > const &  ) const
default

Compare block coordinates lexicographically.

◆ size()

template<std::size_t CoordinateCount>
static constexpr auto uni20::BlockKey< CoordinateCount >::size ( ) -> std::size_t
inlinestaticconstexprnoexcept

Return the compile-time number of stored coordinates.


The documentation for this class was generated from the following file: