Blender V4.3
array< T, alignment > Class Template Reference

#include <array.h>

Public Member Functions

 array ()
 array (size_t newsize)
 array (const array &from)
arrayoperator= (const array &from)
arrayoperator= (const vector< T > &from)
 ~array ()
bool operator== (const array< T > &other) const
bool operator!= (const array< T > &other) const
void steal_data (array &from)
void set_data (T *ptr_, size_t datasize)
Tsteal_pointer ()
Tresize (size_t newsize)
Tresize (size_t newsize, const T &value)
void clear ()
size_t empty () const
size_t size () const
Tdata ()
const Tdata () const
Toperator[] (size_t i) const
Tbegin ()
const Tbegin () const
Tend ()
const Tend () const
void reserve (size_t newcapacity)
size_t capacity () const
void push_back_slow (const T &t)
void push_back_reserved (const T &t)
void append (const array< T > &from)

Protected Member Functions

Tmem_allocate (size_t N)
void mem_free (T *mem, size_t N)
void mem_copy (T *mem_to, const T *mem_from, const size_t N)

Protected Attributes

Tdata_
size_t datasize_
size_t capacity_

Detailed Description

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
class array< T, alignment >

Definition at line 25 of file cycles/util/array.h.

Constructor & Destructor Documentation

◆ array() [1/3]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
array< T, alignment >::array ( )
inline

◆ array() [2/3]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
array< T, alignment >::array ( size_t newsize)
inlineexplicit

Definition at line 29 of file cycles/util/array.h.

References capacity_, data_, datasize_, mem_allocate(), and NULL.

◆ array() [3/3]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
array< T, alignment >::array ( const array< T, alignment > & from)
inline

Definition at line 43 of file cycles/util/array.h.

References array(), capacity_, data_, datasize_, mem_allocate(), mem_copy(), and NULL.

◆ ~array()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
array< T, alignment >::~array ( )
inline

Definition at line 83 of file cycles/util/array.h.

References capacity_, data_, and mem_free().

Member Function Documentation

◆ append()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
void array< T, alignment >::append ( const array< T > & from)
inline

◆ begin() [1/2]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
T * array< T, alignment >::begin ( )
inline

Definition at line 209 of file cycles/util/array.h.

References data_, and T.

Referenced by blender::Vector< T, InlineBufferCapacity, RawAllocator >::insert().

◆ begin() [2/2]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
const T * array< T, alignment >::begin ( ) const
inline

Definition at line 214 of file cycles/util/array.h.

References data_, and T.

◆ capacity()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
size_t array< T, alignment >::capacity ( ) const
inline

Definition at line 242 of file cycles/util/array.h.

References capacity_.

◆ clear()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
void array< T, alignment >::clear ( )
inline

◆ data() [1/2]

◆ data() [2/2]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
const T * array< T, alignment >::data ( ) const
inline

Definition at line 198 of file cycles/util/array.h.

References data_, and T.

◆ empty()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
size_t array< T, alignment >::empty ( ) const
inline

Definition at line 183 of file cycles/util/array.h.

References datasize_.

◆ end() [1/2]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
T * array< T, alignment >::end ( )
inline

◆ end() [2/2]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
const T * array< T, alignment >::end ( ) const
inline

Definition at line 224 of file cycles/util/array.h.

References data_, datasize_, and T.

◆ mem_allocate()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
T * array< T, alignment >::mem_allocate ( size_t N)
inlineprotected

Definition at line 273 of file cycles/util/array.h.

References N, NULL, T, util_aligned_malloc(), and util_guarded_mem_alloc().

Referenced by array(), array(), reserve(), and resize().

◆ mem_copy()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
void array< T, alignment >::mem_copy ( T * mem_to,
const T * mem_from,
const size_t N )
inlineprotected

Definition at line 296 of file cycles/util/array.h.

References N, and T.

Referenced by append(), array(), operator=(), operator=(), reserve(), and resize().

◆ mem_free()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
void array< T, alignment >::mem_free ( T * mem,
size_t N )
inlineprotected

Definition at line 288 of file cycles/util/array.h.

References N, NULL, T, util_aligned_free(), and util_guarded_mem_free().

Referenced by clear(), reserve(), resize(), and ~array().

◆ operator!=()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
bool array< T, alignment >::operator!= ( const array< T > & other) const
inline

Definition at line 100 of file cycles/util/array.h.

References array().

◆ operator=() [1/2]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
array & array< T, alignment >::operator= ( const array< T, alignment > & from)
inline

Definition at line 60 of file cycles/util/array.h.

References array(), data_, datasize_, mem_copy(), resize(), and size().

◆ operator=() [2/2]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
array & array< T, alignment >::operator= ( const vector< T > & from)
inline

Definition at line 72 of file cycles/util/array.h.

References array(), data_, datasize_, mem_copy(), and resize().

◆ operator==()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
bool array< T, alignment >::operator== ( const array< T > & other) const
inline

Definition at line 88 of file cycles/util/array.h.

References array(), data_, datasize_, and T.

◆ operator[]()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
T & array< T, alignment >::operator[] ( size_t i) const
inline

Definition at line 203 of file cycles/util/array.h.

References data_, datasize_, and T.

◆ push_back_reserved()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
void array< T, alignment >::push_back_reserved ( const T & t)
inline

Definition at line 257 of file cycles/util/array.h.

References capacity_, datasize_, push_back_slow(), and T.

◆ push_back_slow()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
void array< T, alignment >::push_back_slow ( const T & t)
inline

◆ reserve()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
void array< T, alignment >::reserve ( size_t newcapacity)
inline

◆ resize() [1/2]

◆ resize() [2/2]

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
T * array< T, alignment >::resize ( size_t newsize,
const T & value )
inline

Definition at line 161 of file cycles/util/array.h.

References data_, resize(), size(), and T.

◆ set_data()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
void array< T, alignment >::set_data ( T * ptr_,
size_t datasize )
inline

Definition at line 120 of file cycles/util/array.h.

References capacity_, clear(), data_, datasize_, and T.

Referenced by device_vector< T >::give_data().

◆ size()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
size_t array< T, alignment >::size ( ) const
inline

Definition at line 188 of file cycles/util/array.h.

References datasize_.

Referenced by append(), SVMCompiler::compile(), HDCYCLES_NAMESPACE_OPEN_SCOPE::convertFromCyclesArray(), HDCYCLES_NAMESPACE_OPEN_SCOPE::convertFromCyclesArray< float2, GfVec2f >(), HDCYCLES_NAMESPACE_OPEN_SCOPE::convertFromCyclesArray< float3, GfVec3f >(), HDCYCLES_NAMESPACE_OPEN_SCOPE::convertFromCyclesArray< Transform, void >(), HDCYCLES_NAMESPACE_OPEN_SCOPE::convertFromCyclesArray< ustring, void >(), create_mesh(), DeleteElements(), GeometryManager::device_update_bvh(), ExportCurveSegments(), ExportCurveSegmentsMotion(), blender::Vector< T, InlineBufferCapacity, RawAllocator >::extend(), blender::Vector< T, InlineBufferCapacity, RawAllocator >::extend_unchecked(), fill_shader_input(), merge_pixels(), ObtainCacheParticleData(), ObtainCacheParticleUV(), ObtainCacheParticleVcol(), operator=(), BVH2::pack_instances(), read_shader_output(), resize(), KDL::JntArray::SetToZero, shutter_curve_eval(), device_vector< T >::steal_data(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), xml_read_float3(), xml_read_float3_array(), xml_read_float4(), xml_read_node(), and xml_write_node().

◆ steal_data()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
void array< T, alignment >::steal_data ( array< T, alignment > & from)
inline

Definition at line 105 of file cycles/util/array.h.

References array(), capacity_, clear(), data_, datasize_, and NULL.

◆ steal_pointer()

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
T * array< T, alignment >::steal_pointer ( )
inline

Definition at line 128 of file cycles/util/array.h.

References clear(), data_, NULL, ptr, and T.

Referenced by device_vector< T >::steal_data().

Member Data Documentation

◆ capacity_

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
size_t array< T, alignment >::capacity_
protected

◆ data_

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
T* array< T, alignment >::data_
protected

◆ datasize_

template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
size_t array< T, alignment >::datasize_
protected

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