Celeritas 0.7+29783eb
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
celeritas::Array< T, N > Class Template Reference

Fixed-size simple array for storage. More...

#include <Array.hh>

Public Types

Type aliases
using value_type = T
 
using size_type = ::celeritas::size_type
 
using pointer = value_type *
 
using const_pointer = value_type const *
 
using reference = value_type &
 
using const_reference = value_type const &
 
using iterator = pointer
 
using const_iterator = const_pointer
 
using CArrayConstRef = T const(&)[N]
 

Public Member Functions

constexpr Array ()
 Default construction initializes to zero.
 
constexpr Array (CArrayConstRef values)
 Construct from an array for aggregate initialization of daughters.
 
constexpr Array (T first)
 Construct with C-style aggregate initialization.
 
template<class... Us>
constexpr Array (T first, Us... rest)
 Construct with the array's data.
 
Element access
constexpr const_reference operator[] (size_type i) const
 
constexpr reference operator[] (size_type i)
 
constexpr const_reference front () const
 
constexpr reference front ()
 
constexpr const_reference back () const
 
constexpr reference back ()
 
constexpr const_pointer data () const
 
constexpr pointer data ()
 
template<std::size_t I>
constexpr Tget ()
 
template<std::size_t I>
constexpr T constget () const
 
Iterators
constexpr iterator begin ()
 
constexpr iterator end ()
 
constexpr const_iterator begin () const
 
constexpr const_iterator end () const
 
constexpr const_iterator cbegin () const
 
constexpr const_iterator cend () const
 
Operations
constexpr void fill (const_reference value)
 Fill the array with a constant value.
 

Friends

template<class U >
constexpr friend auto operator== (Array const &lhs, Array< U, N > const &rhs) -> std::enable_if_t< std::is_convertible_v< U, T >, bool >
 Test equality of two arrays.
 
template<class U >
constexpr friend auto operator!= (Array const &lhs, Array< U, N > const &rhs) -> std::enable_if_t< std::is_convertible_v< U, T >, bool >
 Test inequality of two arrays.
 

Capacity

constexpr bool empty () const
 
static constexpr size_type size ()
 

Detailed Description

template<class T, std::size_t N>
class celeritas::Array< T, N >

Fixed-size simple array for storage.

Three-dimensional cartesian coordinates.

The Array class is primarily used for point coordinates (e.g., Real3) but is also used for other fixed-size data structures.

This is not fully compatible with std::array:

Note
For supplementary functionality, include:

Member Function Documentation

◆ back() [1/2]

template<class T , std::size_t N>
constexpr reference celeritas::Array< T, N >::back ( )
inlineconstexpr

Access for structured unpacking

◆ back() [2/2]

template<class T , std::size_t N>
constexpr const_reference celeritas::Array< T, N >::back ( ) const
inlineconstexpr

Access for structured unpacking

◆ data() [1/2]

template<class T , std::size_t N>
constexpr pointer celeritas::Array< T, N >::data ( )
inlineconstexpr

Access for structured unpacking

◆ data() [2/2]

template<class T , std::size_t N>
constexpr const_pointer celeritas::Array< T, N >::data ( ) const
inlineconstexpr

Access for structured unpacking

◆ front() [1/2]

template<class T , std::size_t N>
constexpr reference celeritas::Array< T, N >::front ( )
inlineconstexpr

Access for structured unpacking

◆ front() [2/2]

template<class T , std::size_t N>
constexpr const_reference celeritas::Array< T, N >::front ( ) const
inlineconstexpr

Access for structured unpacking

◆ get() [1/2]

template<class T , std::size_t N>
template<std::size_t I>
constexpr T & celeritas::Array< T, N >::get ( )
inlineconstexpr

Access for structured unpacking

◆ get() [2/2]

template<class T , std::size_t N>
template<std::size_t I>
constexpr T const & celeritas::Array< T, N >::get ( ) const
inlineconstexpr

Access for structured unpacking

◆ operator[]() [1/2]

template<class T , std::size_t N>
constexpr reference celeritas::Array< T, N >::operator[] ( size_type  i)
inlineconstexpr

Access for structured unpacking

◆ operator[]() [2/2]

template<class T , std::size_t N>
constexpr const_reference celeritas::Array< T, N >::operator[] ( size_type  i) const
inlineconstexpr

Access for structured unpacking


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