17#ifndef AGXDATA_ARRAY_H
18#define AGXDATA_ARRAY_H
26# pragma warning( disable : 4251 )
76 void setRange(
size_t startIndex,
size_t endIndex);
105 template <
typename T>
156 const T&
back()
const;
160 const T&
front()
const;
168 const T&
at(
size_t index)
const;
186 const T*
ptr()
const;
195 template <
typename T2>
196 size_t find(
const T2& element)
const;
199 template <
typename T2>
200 bool contains(
const T2& element)
const;
215 size_t commitResult(
size_t numElements,
const void* localResult);
218 template <
typename T2>
220 template <
typename T2>
#define AGX_TEMPLATED_TYPE_BINDING(_Type, _Name)
Arrays are fast accessors into the data, or a portion of it, held by a Buffer.
const agxData::Buffer * buffer() const
agx::IndexRange32 m_range
agx::IndexRange32 & range()
agxData::Buffer * m_buffer
Type-specific Array used for fast access into the data held by a Buffer.
agx::GlobalResult::Transaction allocateResult(size_t numElements)
static const bool IsScalar
Array()
Create a new invalid array.
size_t commitResult(size_t numElements, const void *localResult, agx::Index sortIndex)
size_t find(const T2 &element) const
The index of the first occurrence of an element that is equal to the given element.
bool contains(const T2 &element) const
static agxData::Array< T > raw(T *buffer, agx::Index size)
Array creation helper method that creates an array covering the given memory area.
agx::GlobalResult * getGlobalResult()
const T & const_reference
T & operator[](size_t index)
std::random_access_iterator_tag iterator_category
agxData::Array< T > slice(agx::IndexRange32 subRange) const
ptrdiff_t difference_type
Abstract representation of a data buffer.
Transactions are used to reserve exclusive memory areas in which the threads can write their data.
GlobalResult is used by kernels to generate result data from different threads.
Vector containing 'raw' data.
Contains classes for low level data storage for AGX.
AGXCORE_EXPORT Format * getFormat(const agx::String &typeFormatName)