tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
extents< IndexType, Extents > Struct Template Reference

#include <extents.hpp>

Public Types

using index_type = IndexType
 
using rank_type = etl::size_t
 
using size_type = make_unsigned_t<IndexType>
 

Public Member Functions

constexpr extents () noexcept=default
 
template<typename OtherIndexType, etl::size_t... OtherExtents>
requires ( sizeof...(OtherExtents) == rank() and ((OtherExtents == dynamic_extent or Extents == dynamic_extent or OtherExtents == Extents) and ...) )
 explicit (((Extents !=dynamic_extent and OtherExtents==dynamic_extent) or ...) or(numeric_limits< IndexType >::max()< numeric_limits< OtherIndexType >::max())) const expr extents(extents< OtherIndexType
 
constexpr auto extent (rank_type i) const noexcept -> index_type
 

Static Public Member Functions

static constexpr auto rank () noexcept -> rank_type
 
static constexpr auto rank_dynamic () noexcept -> rank_type
 
static constexpr auto static_extent (rank_type i) noexcept -> etl::size_t
 

Public Attributes

OtherExtents const &e noexcept
 

Member Typedef Documentation

◆ index_type

template<typename IndexType, etl::size_t... Extents>
using index_type = IndexType

◆ rank_type

template<typename IndexType, etl::size_t... Extents>
using rank_type = etl::size_t

◆ size_type

template<typename IndexType, etl::size_t... Extents>
using size_type = make_unsigned_t<IndexType>

Constructor & Destructor Documentation

◆ extents()

template<typename IndexType, etl::size_t... Extents>
extents ( )
constexprdefaultnoexcept

Member Function Documentation

◆ explicit()

template<typename IndexType, etl::size_t... Extents>
template<typename OtherIndexType, etl::size_t... OtherExtents>
requires ( sizeof...(OtherExtents) == rank() and ((OtherExtents == dynamic_extent or Extents == dynamic_extent or OtherExtents == Extents) and ...) )
explicit ( ((Extents !=dynamic_extent and OtherExtents==dynamic_extent) or ...) or(numeric_limits< IndexType >::max()< numeric_limits< OtherIndexType >::max()) ) const

◆ extent()

template<typename IndexType, etl::size_t... Extents>
auto extent ( rank_type i) const -> index_type
inlinenodiscardconstexprnoexcept

◆ rank()

template<typename IndexType, etl::size_t... Extents>
constexpr auto rank ( ) -> rank_type
inlinestaticnodiscardconstexprnoexcept

◆ rank_dynamic()

template<typename IndexType, etl::size_t... Extents>
constexpr auto rank_dynamic ( ) -> rank_type
inlinestaticnodiscardconstexprnoexcept

◆ static_extent()

template<typename IndexType, etl::size_t... Extents>
constexpr auto static_extent ( rank_type i) -> etl::size_t
inlinestaticnodiscardconstexprnoexcept

Member Data Documentation

◆ noexcept

template<typename IndexType, etl::size_t... Extents>
OtherExtents const& e noexcept
nodiscard

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