24#ifndef ATHCONTAINERSINTERFACES_AUXDATASPAN_H
25#define ATHCONTAINERSINTERFACES_AUXDATASPAN_H
103 const T*
data()
const {
return reinterpret_cast<T*
> (
m_span.beg); }
216 const T*
data()
const {
return reinterpret_cast<const T*
> (
m_span.beg); }
const T & at(size_t index) const
Bounds-checked element access.
const T * data() const
Return the start of the span.
bool empty() const
Test to see if the span is empty.
size_t size() const
Return the size of the span.
const T & back() const
Return the last element in the range.
const T & operator[](size_t index) const
Element access.
AuxDataConstSpan(const AuxDataSpanBase &span)
Constructor.
const T & front() const
Return the first element in the range.
const AuxDataSpanBase & m_span
size_t size() const
Return the size of the span.
T & at(size_t index)
Bounds-checked element access.
const T & at(size_t index) const
Bounds-checked element access (const).
AuxDataSpan(const AuxDataSpanBase &span)
Constructor.
bool empty() const
Test to see if the span is empty.
T & front()
Return the first element in the range.
T & operator[](size_t index)
Element access.
const T & front() const
Return the first element in the range (const).
T * data()
Return the start of the span.
T & back()
Return the last element in the range.
const T & back() const
Return the last element in the range (const).
const T * data() const
Return the start of the span (const).
const AuxDataSpanBase & m_span
void throw_out_of_range(const std::string &what, size_t index, size_t size, const void *obj)
Throw an out_of_range exception.
Minimal span-like object describing the range of an auxiliary variable.
void * beg
Pointer to the start of the variable's vector.
size_t size
The length of the variable's vector.
AuxDataSpanBase(void *the_beg=0, size_t the_size=0)
Constructor.
Helpers for throwing out_of_range exceptions.