LocalGuidance
A library that generates velocity references to follow a path.
std_utils::EnumArray< Enum_, Item_, Size_ > Class Template Reference

#include <EnumArray.hpp>

Inheritance diagram for std_utils::EnumArray< Enum_, Item_, Size_ >:
Inheritance graph

Public Types

using Item = Item_
 
using Enum = Enum_
 

Public Member Functions

constexpr EnumArray () noexcept
 
constexpr EnumArray (std::array< Item, Size_ > a) noexcept
 
 EnumArray (Item a) noexcept
 
Itemoperator[] (Enum e) noexcept
 Provide at, [] implementations for enums. More...
 
constexpr const Itemoperator[] (Enum e) const noexcept
 
Itemat (Enum e)
 
constexpr const Itemat (Enum e) const
 
template<Enum_ E_>
Itemget () noexcept
 Provide get function, this can be used to assure compile time access in C++11. More...
 
template<Enum_ E_>
constexpr const Itemget () const noexcept
 

Member Typedef Documentation

◆ Enum

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
using std_utils::EnumArray< Enum_, Item_, Size_ >::Enum = Enum_

◆ Item

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
using std_utils::EnumArray< Enum_, Item_, Size_ >::Item = Item_

Constructor & Destructor Documentation

◆ EnumArray() [1/3]

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
constexpr std_utils::EnumArray< Enum_, Item_, Size_ >::EnumArray ( )
inlinenoexcept

◆ EnumArray() [2/3]

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
constexpr std_utils::EnumArray< Enum_, Item_, Size_ >::EnumArray ( std::array< Item, Size_ >  a)
inlineexplicitnoexcept

◆ EnumArray() [3/3]

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
std_utils::EnumArray< Enum_, Item_, Size_ >::EnumArray ( Item  a)
inlineexplicitnoexcept

Member Function Documentation

◆ at() [1/2]

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
Item& std_utils::EnumArray< Enum_, Item_, Size_ >::at ( Enum  e)
inline

◆ at() [2/2]

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
constexpr const Item& std_utils::EnumArray< Enum_, Item_, Size_ >::at ( Enum  e) const
inline

◆ get() [1/2]

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
template<Enum_ E_>
Item& std_utils::EnumArray< Enum_, Item_, Size_ >::get ( )
inlinenoexcept

Provide get function, this can be used to assure compile time access in C++11.

◆ get() [2/2]

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
template<Enum_ E_>
constexpr const Item& std_utils::EnumArray< Enum_, Item_, Size_ >::get ( ) const
inlinenoexcept

◆ operator[]() [1/2]

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
Item& std_utils::EnumArray< Enum_, Item_, Size_ >::operator[] ( Enum  e)
inlinenoexcept

Provide at, [] implementations for enums.

◆ operator[]() [2/2]

template<typename Enum_, typename Item_, int Size_ = static_cast<int>(Enum_::SIZE)>
constexpr const Item& std_utils::EnumArray< Enum_, Item_, Size_ >::operator[] ( Enum  e) const
inlinenoexcept

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