|
Galois
|
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. More... | |
| LargeArray () | |
| LargeArray (LargeArray &&o) | |
| LargeArray & | operator= (LargeArray &&o) |
| LargeArray (const LargeArray &)=delete | |
| LargeArray & | operator= (const LargeArray &)=delete |
| ~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) |
| [allocatefunctions] Allocates interleaved across NUMA (memory) nodes. More... | |
| void | allocateBlocked (size_type n) |
| Allocates using blocked memory policy. More... | |
| void | allocateLocal (size_type n) |
| Allocates using Thread Local memory policy. More... | |
| void | allocateFloating (size_type n) |
| Allocates using no memory policy (no pre alloc) More... | |
| template<typename RangeArrayTy > | |
| void | allocateSpecified (size_type numberOfElements, RangeArrayTy &threadRanges) |
| Allocate memory to threads based on a provided array specifying which threads receive which elements of data. More... | |
| template<typename... Args> | |
| void | construct (Args &&...args) |
| [allocatefunctions] More... | |
| template<typename... Args> | |
| void | constructAt (size_type n, Args &&...args) |
| template<typename... Args> | |
| void | create (size_type n, Args &&...args) |
| Allocate and construct. More... | |
| void | deallocate () |
| void | destroy () |
| template<typename U = T> | |
| std::enable_if_t <!std::is_scalar< U >::value > | destroyAt (size_type n) |
| template<typename U = T> | |
| std::enable_if_t < std::is_scalar< U >::value > | destroyAt (size_type) |
| const_pointer | data () const |
| pointer | data () |
Static Public Attributes | |
| static const bool | has_value = true |
Protected Types | |
| enum | AllocType { Blocked, Local, Interleaved, Floating } |
Protected Member Functions | |
| void | allocate (size_type n, AllocType t) |
Friends | |
| class | boost::serialization::access |
| void | swap (LargeArray &lhs, LargeArray &rhs) |
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 |
|
protected |
|
inline |
Wraps existing buffer in LargeArray interface.
|
inline |
|
inline |
|
delete |
|
inline |
|
inlineprotected |
|
inline |
Allocates using blocked memory policy.
| n | number of elements to allocate |
|
inline |
Allocates using no memory policy (no pre alloc)
| n | number of elements to allocate |
|
inline |
[allocatefunctions] Allocates interleaved across NUMA (memory) nodes.
|
inline |
Allocates using Thread Local memory policy.
| n | number of elements to allocate |
|
inline |
Allocate memory to threads based on a provided array specifying which threads receive which elements of data.
| RangeArrayTy | The type of the threadRanges array; should either be uint32_t* or uint64_t* |
| numberOfElements | Number of elements to allocate space for |
| threadRanges | An array specifying how elements should be split among threads |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
[allocatefunctions]
|
inline |
|
inline |
Allocate and construct.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |
|
static |