cMHN 1.2
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
pRC::Subscripts< Ns > Class Template Reference

#include <subscripts.hpp>

Public Types

using Sizes = pRC::Sizes<Ns...>
 

Public Member Functions

 ~Subscripts ()=default
 
constexpr Subscripts ()=default
 
constexpr Subscripts (Subscripts const &)=default
 
constexpr Subscripts (Subscripts &&)=default
 
constexpr Subscriptsoperator= (Subscripts const &) &=default
 
constexpr Subscriptsoperator= (Subscripts &&) &=default
 
template<IsConvertible< Index >... Ss>
requires (sizeof...(Ss) == Dimension)
constexpr Subscripts (Ss const ... subscripts)
 
constexpr Subscripts (Index const index)
 
constexpr Subscripts (Index const index)
 
constexpr operator Index () const
 
constexpr decltype(auto) operator[] (Index const dimension) &&
 
constexpr decltype(auto) operator[] (Index const dimension) const &&
 
constexpr decltype(auto) operator[] (Index const dimension) &
 
constexpr decltype(auto) operator[] (Index const dimension) const &
 
constexpr bool operator< (const Subscripts &rhs) const
 
constexpr auto isOutOfRange () const
 
constexpr decltype(auto) periodize () &
 
template<class X >
requires IsInvocable<Add, Subscripts &, X>
constexpr auto & operator+= (X &&rhs) &
 
template<class X >
requires IsInvocable<Sub, Subscripts &, X>
constexpr auto & operator-= (X &&rhs) &
 
template<class X >
requires IsInvocable<Mul, Subscripts &, X>
constexpr auto & operator*= (X &&rhs) &
 
template<class X >
requires IsInvocable<Div, Subscripts &, X>
constexpr auto & operator/= (X &&rhs) &
 
template<class X >
requires IsInvocable<Mod, Subscripts &, X>
constexpr auto & operator%= (X &&rhs) &
 

Static Public Member Functions

static constexpr auto size ()
 
static constexpr auto size (Index const dimension)
 

Static Public Attributes

static constexpr auto Dimension = Sizes::Dimension
 

Member Typedef Documentation

◆ Sizes

template<Size... Ns>
using pRC::Subscripts< Ns >::Sizes = pRC::Sizes<Ns...>

Constructor & Destructor Documentation

◆ ~Subscripts()

template<Size... Ns>
pRC::Subscripts< Ns >::~Subscripts ( )
default

◆ Subscripts() [1/6]

template<Size... Ns>
pRC::Subscripts< Ns >::Subscripts ( )
constexprdefault

◆ Subscripts() [2/6]

template<Size... Ns>
pRC::Subscripts< Ns >::Subscripts ( Subscripts< Ns > const & )
constexprdefault

◆ Subscripts() [3/6]

template<Size... Ns>
pRC::Subscripts< Ns >::Subscripts ( Subscripts< Ns > && )
constexprdefault

◆ Subscripts() [4/6]

template<Size... Ns>
template<IsConvertible< Index >... Ss>
requires (sizeof...(Ss) == Dimension)
pRC::Subscripts< Ns >::Subscripts ( Ss const ... subscripts)
inlineexplicitconstexpr

◆ Subscripts() [5/6]

template<Size... Ns>
pRC::Subscripts< Ns >::Subscripts ( Index const index)
inlineexplicitconstexpr

◆ Subscripts() [6/6]

template<Size... Ns>
pRC::Subscripts< Ns >::Subscripts ( Index const index)
inlineexplicitconstexpr

Member Function Documentation

◆ isOutOfRange()

template<Size... Ns>
auto pRC::Subscripts< Ns >::isOutOfRange ( ) const
inlineconstexpr

◆ operator Index()

template<Size... Ns>
pRC::Subscripts< Ns >::operator Index ( ) const
inlineexplicitconstexpr

◆ operator%=()

template<Size... Ns>
template<class X >
requires IsInvocable<Mod, Subscripts &, X>
auto & pRC::Subscripts< Ns >::operator%= ( X && rhs) &
inlineconstexpr

◆ operator*=()

template<Size... Ns>
template<class X >
requires IsInvocable<Mul, Subscripts &, X>
auto & pRC::Subscripts< Ns >::operator*= ( X && rhs) &
inlineconstexpr

◆ operator+=()

template<Size... Ns>
template<class X >
requires IsInvocable<Add, Subscripts &, X>
auto & pRC::Subscripts< Ns >::operator+= ( X && rhs) &
inlineconstexpr

◆ operator-=()

template<Size... Ns>
template<class X >
requires IsInvocable<Sub, Subscripts &, X>
auto & pRC::Subscripts< Ns >::operator-= ( X && rhs) &
inlineconstexpr

◆ operator/=()

template<Size... Ns>
template<class X >
requires IsInvocable<Div, Subscripts &, X>
auto & pRC::Subscripts< Ns >::operator/= ( X && rhs) &
inlineconstexpr

◆ operator<()

template<Size... Ns>
bool pRC::Subscripts< Ns >::operator< ( const Subscripts< Ns > & rhs) const
inlineconstexpr

◆ operator=() [1/2]

template<Size... Ns>
Subscripts & pRC::Subscripts< Ns >::operator= ( Subscripts< Ns > && ) &
constexprdefault

◆ operator=() [2/2]

template<Size... Ns>
Subscripts & pRC::Subscripts< Ns >::operator= ( Subscripts< Ns > const & ) &
constexprdefault

◆ operator[]() [1/4]

template<Size... Ns>
decltype(auto) pRC::Subscripts< Ns >::operator[] ( Index const dimension) &
inlineconstexpr

◆ operator[]() [2/4]

template<Size... Ns>
decltype(auto) pRC::Subscripts< Ns >::operator[] ( Index const dimension) &&
inlineconstexpr

◆ operator[]() [3/4]

template<Size... Ns>
decltype(auto) pRC::Subscripts< Ns >::operator[] ( Index const dimension) const &
inlineconstexpr

◆ operator[]() [4/4]

template<Size... Ns>
decltype(auto) pRC::Subscripts< Ns >::operator[] ( Index const dimension) const &&
inlineconstexpr

◆ periodize()

template<Size... Ns>
decltype(auto) pRC::Subscripts< Ns >::periodize ( ) &
inlineconstexpr

◆ size() [1/2]

template<Size... Ns>
static constexpr auto pRC::Subscripts< Ns >::size ( )
inlinestaticconstexpr

◆ size() [2/2]

template<Size... Ns>
static constexpr auto pRC::Subscripts< Ns >::size ( Index const dimension)
inlinestaticconstexpr

Member Data Documentation

◆ Dimension

template<Size... Ns>
auto pRC::Subscripts< Ns >::Dimension = Sizes::Dimension
staticconstexpr

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