Celeritas 0.6.0-116+develop.71fe0efe
Loading...
Searching...
No Matches
Public Member Functions | 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

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

Capacity

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

Detailed Description

template<class T, ::celeritas::size_type N>
class celeritas::Array< T, N >

Fixed-size simple array for storage.

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

This isn't fully standards-compliant with std::array: there's no support for N=0 for example. Additionally it uses the native celeritas size_type, even though this has no effect on generated code for values of N inside the range of size_type. Arrays are also zero-initialized by default.

Note
For supplementary functionality, include:

Member Function Documentation

◆ back() [1/2]

CELER_CEF reference celeritas::Array< T, N >::back ( )
inline

Access for structured unpacking

◆ back() [2/2]

CELER_CEF const_reference celeritas::Array< T, N >::back ( ) const
inline

Access for structured unpacking

◆ data() [1/2]

CELER_CEF pointer celeritas::Array< T, N >::data ( )
inline

Access for structured unpacking

◆ data() [2/2]

CELER_CEF const_pointer celeritas::Array< T, N >::data ( ) const
inline

Access for structured unpacking

◆ front() [1/2]

CELER_CEF reference celeritas::Array< T, N >::front ( )
inline

Access for structured unpacking

◆ front() [2/2]

CELER_CEF const_reference celeritas::Array< T, N >::front ( ) const
inline

Access for structured unpacking

◆ get() [1/2]

template<std::size_t I>
CELER_CEF T & celeritas::Array< T, N >::get ( )
inline

Access for structured unpacking

◆ get() [2/2]

template<std::size_t I>
CELER_CEF T const & celeritas::Array< T, N >::get ( ) const
inline

Access for structured unpacking

◆ operator[]() [1/2]

CELER_CEF reference celeritas::Array< T, N >::operator[] ( size_type  i)
inline

Access for structured unpacking

◆ operator[]() [2/2]

CELER_CEF const_reference celeritas::Array< T, N >::operator[] ( size_type  i) const
inline

Access for structured unpacking


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