Large array of objects with proper specialization for void type and supporting various allocation and construction policies. More...
#include <LargeArray.h>
Classes | |
| struct | size_of |
Public Types | |
| typedef T | raw_value_type |
| typedef T | value_type |
| typedef size_t | size_type |
| typedef ptrdiff_t | difference_type |
| typedef value_type & | reference |
| typedef const value_type & | const_reference |
| typedef value_type * | pointer |
| typedef const value_type * | const_pointer |
| typedef pointer | iterator |
| typedef const_pointer | const_iterator |
Public Member Functions | |
| LargeArray (void *d, size_t s) | |
| Wraps existing buffer in LargeArray interface. | |
| LargeArray () | |
| ~LargeArray () | |
| const_reference | at (difference_type x) const |
| reference | at (difference_type x) |
| const_reference | operator[] (size_type x) const |
| reference | operator[] (size_type x) |
| void | set (difference_type x, const_reference v) |
| size_type | size () const |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| void | allocateInterleaved (size_type n) |
| Allocates interleaved across NUMA (memory) nodes. Must. | |
| void | allocateLocal (size_type n, bool prefault=true) |
| Allocates using default memory policy (usually first-touch). | |
| template<typename... Args> | |
| void | construct (Args &&...args) |
| template<typename... Args> | |
| void | constructAt (size_type n, Args &&...args) |
| template<typename... Args> | |
| void | create (size_type n, Args &&...args) |
| Allocate and construct. | |
| void | deallocate () |
| void | destroy () |
| void | destroyAt (size_type n) |
| const_pointer | data () const |
| pointer | data () |
Static Public Attributes | |
| static const bool | has_value = true |
Protected Member Functions | |
| void | allocate (size_type n, bool interleave, bool prefault) |
Private Attributes | |
| T * | m_data |
| size_t | m_size |
| int | allocated |
Large array of objects with proper specialization for void type and supporting various allocation and construction policies.
| T | value type of container |
| typedef const_pointer Galois::LargeArray< T >::const_iterator |
| typedef const value_type* Galois::LargeArray< T >::const_pointer |
| typedef const value_type& Galois::LargeArray< T >::const_reference |
| typedef ptrdiff_t Galois::LargeArray< T >::difference_type |
| typedef pointer Galois::LargeArray< T >::iterator |
| typedef value_type* Galois::LargeArray< T >::pointer |
| typedef T Galois::LargeArray< T >::raw_value_type |
| typedef value_type& Galois::LargeArray< T >::reference |
| typedef size_t Galois::LargeArray< T >::size_type |
| typedef T Galois::LargeArray< T >::value_type |
| Galois::LargeArray< T >::LargeArray | ( | void * | d, | |
| size_t | s | |||
| ) | [inline] |
Wraps existing buffer in LargeArray interface.
| Galois::LargeArray< T >::LargeArray | ( | ) | [inline] |
| Galois::LargeArray< T >::~LargeArray | ( | ) | [inline] |
| void Galois::LargeArray< T >::allocate | ( | size_type | n, | |
| bool | interleave, | |||
| bool | prefault | |||
| ) | [inline, protected] |
| void Galois::LargeArray< T >::allocateInterleaved | ( | size_type | n | ) | [inline] |
Allocates interleaved across NUMA (memory) nodes. Must.
| void Galois::LargeArray< T >::allocateLocal | ( | size_type | n, | |
| bool | prefault = true | |||
| ) | [inline] |
Allocates using default memory policy (usually first-touch).
| n | number of elements to allocate | |
| prefault | Prefault/touch memory to place it local to the currently executing thread. By default, true because concurrent page-faulting can be a scalability bottleneck. |
| reference Galois::LargeArray< T >::at | ( | difference_type | x | ) | [inline] |
| const_reference Galois::LargeArray< T >::at | ( | difference_type | x | ) | const [inline] |
| const_iterator Galois::LargeArray< T >::begin | ( | ) | const [inline] |
| iterator Galois::LargeArray< T >::begin | ( | ) | [inline] |
| void Galois::LargeArray< T >::construct | ( | Args &&... | args | ) | [inline] |
| void Galois::LargeArray< T >::constructAt | ( | size_type | n, | |
| Args &&... | args | |||
| ) | [inline] |
| void Galois::LargeArray< T >::create | ( | size_type | n, | |
| Args &&... | args | |||
| ) | [inline] |
Allocate and construct.
| pointer Galois::LargeArray< T >::data | ( | ) | [inline] |
| const_pointer Galois::LargeArray< T >::data | ( | ) | const [inline] |
| void Galois::LargeArray< T >::deallocate | ( | ) | [inline] |
| void Galois::LargeArray< T >::destroy | ( | ) | [inline] |
| void Galois::LargeArray< T >::destroyAt | ( | size_type | n | ) | [inline] |
| const_iterator Galois::LargeArray< T >::end | ( | ) | const [inline] |
| iterator Galois::LargeArray< T >::end | ( | ) | [inline] |
| reference Galois::LargeArray< T >::operator[] | ( | size_type | x | ) | [inline] |
| const_reference Galois::LargeArray< T >::operator[] | ( | size_type | x | ) | const [inline] |
| void Galois::LargeArray< T >::set | ( | difference_type | x, | |
| const_reference | v | |||
| ) | [inline] |
| size_type Galois::LargeArray< T >::size | ( | ) | const [inline] |
int Galois::LargeArray< T >::allocated [private] |
const bool Galois::LargeArray< T >::has_value = true [static] |
T* Galois::LargeArray< T >::m_data [private] |
size_t Galois::LargeArray< T >::m_size [private] |
1.6.1