|
KASKADE 7 development version
|
An STL allocator that uses memory of a specific NUMA node only. More...
#include <threading.hh>
An STL allocator that uses memory of a specific NUMA node only.
Definition at line 652 of file threading.hh.
Classes | |
| struct | rebind |
Public Types | |
| typedef T | value_type |
| typedef T * | pointer |
| typedef T const * | const_pointer |
| typedef T & | reference |
| typedef T const & | const_reference |
| typedef std::size_t | size_type |
| typedef std::ptrdiff_t | difference_type |
| typedef std::true_type | propagate_on_container_copy_assignment |
| typedef std::true_type | propagate_on_container_move_assignment |
| typedef std::true_type | propagate_on_container_swap |
Public Member Functions | |
| NumaAllocator (int node) | |
| Construct an allocator for allocating on the given NUMA node. More... | |
| int | node () const |
| Reports the node on which we allocate. More... | |
| pointer | address (reference x) const |
| const_pointer | address (const_reference x) const |
| size_type | max_size () const |
| pointer | allocate (size_type n, std::allocator< void >::const_pointer=0) |
| Allocates the requested amount of memory. More... | |
| void | deallocate (pointer p, size_type n) |
| template<class U , class... Args> | |
| void | construct (U *p, Args &&... args) |
| template<class U > | |
| void | destroy (U *p) |
| template<class U > | |
| bool | operator== (NumaAllocator< U > const &other) const |
| comparison for equality More... | |
| template<class U > | |
| bool | operator!= (NumaAllocator< U > const &other) const |
| typedef T const* Kaskade::NumaAllocator< T >::const_pointer |
Definition at line 657 of file threading.hh.
| typedef T const& Kaskade::NumaAllocator< T >::const_reference |
Definition at line 659 of file threading.hh.
| typedef std::ptrdiff_t Kaskade::NumaAllocator< T >::difference_type |
Definition at line 661 of file threading.hh.
| typedef T* Kaskade::NumaAllocator< T >::pointer |
Definition at line 656 of file threading.hh.
| typedef std::true_type Kaskade::NumaAllocator< T >::propagate_on_container_copy_assignment |
Definition at line 665 of file threading.hh.
| typedef std::true_type Kaskade::NumaAllocator< T >::propagate_on_container_move_assignment |
Definition at line 666 of file threading.hh.
| typedef std::true_type Kaskade::NumaAllocator< T >::propagate_on_container_swap |
Definition at line 667 of file threading.hh.
| typedef T& Kaskade::NumaAllocator< T >::reference |
Definition at line 658 of file threading.hh.
| typedef std::size_t Kaskade::NumaAllocator< T >::size_type |
Definition at line 660 of file threading.hh.
| typedef T Kaskade::NumaAllocator< T >::value_type |
Definition at line 655 of file threading.hh.
|
inline |
Construct an allocator for allocating on the given NUMA node.
| node | the NUMA node on which to allocate the memory. This has to be less than NumaThreadPool::instance().nodes(). For negative values, the memory is allocated in interleaved mode. |
Definition at line 681 of file threading.hh.
|
inline |
Definition at line 698 of file threading.hh.
|
inline |
Definition at line 693 of file threading.hh.
|
inline |
Allocates the requested amount of memory.
| n | number of objects of type T |
If
Definition at line 716 of file threading.hh.
|
inline |
Definition at line 731 of file threading.hh.
|
inline |
Definition at line 724 of file threading.hh.
Definition at line 737 of file threading.hh.
|
inline |
Definition at line 703 of file threading.hh.
|
inline |
Reports the node on which we allocate.
Definition at line 688 of file threading.hh.
Referenced by Kaskade::NumaAllocator< T >::operator!=(), and Kaskade::NumaAllocator< T >::operator==().
|
inline |
Definition at line 754 of file threading.hh.
|
inline |
comparison for equality
Allocators compare equal, if they allocate on the same NUMA node.
Definition at line 748 of file threading.hh.