Template Struct array

Struct Documentation

template<typename E, typename V, typename Index = default_indexing<E>>
struct array

Public Types

using index_type = Index
using container_type = std::array<V, enum_count<E>()>
using value_type = typename container_type::value_type
using size_type = typename container_type::size_type
using difference_type = typename container_type::difference_type
using reference = typename container_type::reference
using const_reference = typename container_type::const_reference
using pointer = typename container_type::pointer
using const_pointer = typename container_type::const_pointer
using iterator = typename container_type::iterator
using const_iterator = typename container_type::const_iterator
using reverse_iterator = typename container_type::reverse_iterator
using const_reverse_iterator = typename container_type::const_reverse_iterator

Public Functions

inline constexpr reference at(E pos)
inline constexpr const_reference at(E pos) const
inline constexpr reference operator[](E pos)
inline constexpr const_reference operator[](E pos) const
inline constexpr reference front() noexcept
inline constexpr const_reference front() const noexcept
inline constexpr reference back() noexcept
inline constexpr const_reference back() const noexcept
inline constexpr pointer data() noexcept
inline constexpr const_pointer data() const noexcept
inline constexpr iterator begin() noexcept
inline constexpr const_iterator begin() const noexcept
inline constexpr const_iterator cbegin() const noexcept
inline constexpr iterator end() noexcept
inline constexpr const_iterator end() const noexcept
inline constexpr const_iterator cend() const noexcept
inline constexpr iterator rbegin() noexcept
inline constexpr const_iterator rbegin() const noexcept
inline constexpr const_iterator crbegin() const noexcept
inline constexpr iterator rend() noexcept
inline constexpr const_iterator rend() const noexcept
inline constexpr const_iterator crend() const noexcept
inline constexpr bool empty() const noexcept
inline constexpr size_type size() const noexcept
inline constexpr size_type max_size() const noexcept
inline constexpr void fill(const V &value)
inline constexpr void swap(array &other) noexcept(std::is_nothrow_swappable_v<V>)

Public Members

container_type a

Friends

inline friend constexpr friend bool operator== (const array &a1, const array &a2)
inline friend constexpr friend bool operator!= (const array &a1, const array &a2)
inline friend constexpr friend bool operator< (const array &a1, const array &a2)
inline friend constexpr friend bool operator<= (const array &a1, const array &a2)
inline friend constexpr friend bool operator> (const array &a1, const array &a2)
inline friend constexpr friend bool operator>= (const array &a1, const array &a2)