cMHN 1.2
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
pRC::CommonArray< A, T > Class Template Reference

#include <array_scalar.hpp>

Public Types

using Type = T
 
using Sizes = pRC::Sizes<>
 

Public Member Functions

 ~CommonArray ()=default
 
constexpr CommonArray ()=default
 
constexpr CommonArray (CommonArray const &)=default
 
constexpr CommonArray (CommonArray &&)=default
 
template<pRC::Allocation B, IsConvertible< T > R>
constexpr CommonArray (CommonArray< B, R > const &other)
 
template<class X >
requires IsConstructible<T, X>
constexpr CommonArray (X &&value)
 
constexpr CommonArrayoperator= (CommonArray const &) &=default
 
constexpr CommonArrayoperator= (CommonArray &&) &=default
 
template<pRC::Allocation B, IsConvertible< T > R>
constexpr auto & operator= (CommonArray< B, R > const &rhs) &
 
template<class X >
requires IsConstructible<T, X>
constexpr auto & operator= (X &&value) &
 
constexpr decltype(auto) operator() () &&
 
constexpr decltype(auto) operator() () const &&
 
constexpr decltype(auto) operator() () &
 
constexpr decltype(auto) operator() () const &
 
constexpr decltype(auto) operator() (Subscripts<> const &) &&
 
constexpr decltype(auto) operator() (Subscripts<> const &) const &&
 
constexpr decltype(auto) operator() (Subscripts<> const &) &
 
constexpr decltype(auto) operator() (Subscripts<> const &) const &
 
constexpr decltype(auto) operator[] (Index const index) &&
 
constexpr decltype(auto) operator[] (Index const index) const &&
 
constexpr decltype(auto) operator[] (Index const index) &
 
constexpr decltype(auto) operator[] (Index const index) const &
 
constexpr auto data () &&=delete
 
constexpr auto data () const &&=delete
 
constexpr auto data () &
 
constexpr auto data () const &
 

Static Public Member Functions

static constexpr auto size ()
 
static constexpr auto size (Index const dimension)=delete
 
static constexpr auto indexToSubscripts (Index const index)
 
static constexpr auto subscriptsToIndex ()
 
static constexpr auto subscriptsToIndex (Subscripts<> const &subscripts)
 

Static Public Attributes

static constexpr auto Allocation = A
 
static constexpr auto Dimension = Sizes::Dimension
 

Member Typedef Documentation

◆ Sizes

template<Allocation A, class T >
using pRC::CommonArray< A, T >::Sizes = pRC::Sizes<>

◆ Type

template<Allocation A, class T >
using pRC::CommonArray< A, T >::Type = T

Constructor & Destructor Documentation

◆ ~CommonArray()

template<Allocation A, class T >
pRC::CommonArray< A, T >::~CommonArray ( )
default

◆ CommonArray() [1/5]

template<Allocation A, class T >
pRC::CommonArray< A, T >::CommonArray ( )
constexprdefault

◆ CommonArray() [2/5]

template<Allocation A, class T >
pRC::CommonArray< A, T >::CommonArray ( CommonArray< A, T > const & )
constexprdefault

◆ CommonArray() [3/5]

template<Allocation A, class T >
pRC::CommonArray< A, T >::CommonArray ( CommonArray< A, T > && )
constexprdefault

◆ CommonArray() [4/5]

template<Allocation A, class T >
template<pRC::Allocation B, IsConvertible< T > R>
pRC::CommonArray< A, T >::CommonArray ( CommonArray< B, R > const & other)
inlineconstexpr

◆ CommonArray() [5/5]

template<Allocation A, class T >
template<class X >
requires IsConstructible<T, X>
pRC::CommonArray< A, T >::CommonArray ( X && value)
inlineconstexpr

Member Function Documentation

◆ data() [1/4]

template<Allocation A, class T >
auto pRC::CommonArray< A, T >::data ( ) &
inlineconstexpr

◆ data() [2/4]

template<Allocation A, class T >
auto pRC::CommonArray< A, T >::data ( ) &&
constexprdelete

◆ data() [3/4]

template<Allocation A, class T >
auto pRC::CommonArray< A, T >::data ( ) const &
inlineconstexpr

◆ data() [4/4]

template<Allocation A, class T >
auto pRC::CommonArray< A, T >::data ( ) const &&
constexprdelete

◆ indexToSubscripts()

template<Allocation A, class T >
static constexpr auto pRC::CommonArray< A, T >::indexToSubscripts ( Index const index)
inlinestaticconstexpr

◆ operator()() [1/8]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator() ( ) &
inlineconstexpr

◆ operator()() [2/8]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator() ( ) &&
inlineconstexpr

◆ operator()() [3/8]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator() ( ) const &
inlineconstexpr

◆ operator()() [4/8]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator() ( ) const &&
inlineconstexpr

◆ operator()() [5/8]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator() ( Subscripts<> const & ) &
inlineconstexpr

◆ operator()() [6/8]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator() ( Subscripts<> const & ) &&
inlineconstexpr

◆ operator()() [7/8]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator() ( Subscripts<> const & ) const &
inlineconstexpr

◆ operator()() [8/8]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator() ( Subscripts<> const & ) const &&
inlineconstexpr

◆ operator=() [1/4]

template<Allocation A, class T >
CommonArray & pRC::CommonArray< A, T >::operator= ( CommonArray< A, T > && ) &
constexprdefault

◆ operator=() [2/4]

template<Allocation A, class T >
CommonArray & pRC::CommonArray< A, T >::operator= ( CommonArray< A, T > const & ) &
constexprdefault

◆ operator=() [3/4]

template<Allocation A, class T >
template<pRC::Allocation B, IsConvertible< T > R>
auto & pRC::CommonArray< A, T >::operator= ( CommonArray< B, R > const & rhs) &
inlineconstexpr

◆ operator=() [4/4]

template<Allocation A, class T >
template<class X >
requires IsConstructible<T, X>
auto & pRC::CommonArray< A, T >::operator= ( X && value) &
inlineconstexpr

◆ operator[]() [1/4]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator[] ( Index const index) &
inlineconstexpr

◆ operator[]() [2/4]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator[] ( Index const index) &&
inlineconstexpr

◆ operator[]() [3/4]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator[] ( Index const index) const &
inlineconstexpr

◆ operator[]() [4/4]

template<Allocation A, class T >
decltype(auto) pRC::CommonArray< A, T >::operator[] ( Index const index) const &&
inlineconstexpr

◆ size() [1/2]

template<Allocation A, class T >
static constexpr auto pRC::CommonArray< A, T >::size ( )
inlinestaticconstexpr

◆ size() [2/2]

template<Allocation A, class T >
static constexpr auto pRC::CommonArray< A, T >::size ( Index const dimension)
staticconstexprdelete

◆ subscriptsToIndex() [1/2]

template<Allocation A, class T >
static constexpr auto pRC::CommonArray< A, T >::subscriptsToIndex ( )
inlinestaticconstexpr

◆ subscriptsToIndex() [2/2]

template<Allocation A, class T >
static constexpr auto pRC::CommonArray< A, T >::subscriptsToIndex ( Subscripts<> const & subscripts)
inlinestaticconstexpr

Member Data Documentation

◆ Allocation

template<Allocation A, class T >
auto pRC::CommonArray< A, T >::Allocation = A
staticconstexpr

◆ Dimension

template<Allocation A, class T >
auto pRC::CommonArray< A, T >::Dimension = Sizes::Dimension
staticconstexpr

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