Lift
Library of parallel computing primitives for GPUs and multi-core CPUs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Types | Public Member Functions | List of all members
lift::scoped_allocation< system, T, index_type, allocator > Struct Template Reference

#include <scoped_allocation.h>

Inheritance diagram for lift::scoped_allocation< system, T, index_type, allocator >:
lift::persistent_allocation< system, T, index_type, allocator > lift::allocation< system, T, index_type > lift::pointer< system, T, index_type > lift::tagged_pointer_base< system, T, index_type >

Public Types

typedef persistent_allocation
< system, T, index_type,
allocator > 
base
 
typedef allocation< system, T,
_index_type > 
base
 
- Public Types inherited from lift::persistent_allocation< system, T, index_type, allocator >
typedef allocation< system, T,
index_type
base
 
typedef base::pointer_type pointer_type
 
typedef base::value_type value_type
 
typedef base::size_type size_type
 
typedef base::index_type index_type
 
typedef allocator allocator_type
 
- Public Types inherited from lift::allocation< system, T, index_type >
typedef pointer< system, T,
index_type
base
 
typedef tagged_pointer_base
< host, T, index_type
base
 
typedef base::pointer_type pointer_type
 
typedef base::value_type value_type
 
typedef base::size_type size_type
 
typedef base::index_type index_type
 
typedef typename
default_memory_allocator
< system >::type 
allocator_type
 
- Public Types inherited from lift::pointer< system, T, index_type >
typedef tagged_pointer_base
< host, T, index_type
base
 
typedef base::reference_type reference_type
 
typedef base::const_reference_type const_reference_type
 
typedef base::value_type value_type
 
typedef base::index_type index_type
 
typedef base::size_type size_type
 
typedef base::iterator_type iterator_type
 
typedef base::const_iterator_type const_iterator_type
 
- Public Types inherited from lift::tagged_pointer_base< system, T, index_type >
enum  
 
typedef T value_type
 
typedef const T const_value_type
 
typedef index_type index_type
 
typedef index_type size_type
 
typedef index_type difference_type
 
typedef T & reference_type
 
typedef const T & const_reference_type
 
typedef T * pointer_type
 
typedef const T * const_pointer_type
 
typedef T * iterator_type
 
typedef const T * const_iterator_type
 
typedef
thrust_iterator_adaptor
< system, value_type,
iterator_type
thrust_iterator_type
 Thrust-compatible iterator types. More...
 
typedef
thrust_iterator_adaptor
< system, value_type,
const_iterator_type
thrust_const_iterator_type
 

Public Member Functions

 ~scoped_allocation ()
 
- Public Member Functions inherited from lift::persistent_allocation< system, T, index_type, allocator >
LIFT_HOST_DEVICE persistent_allocation ()
 
 persistent_allocation (size_type count)
 
LIFT_HOST_DEVICE persistent_allocation (const persistent_allocation &other)
 
 persistent_allocation (const std::initializer_list< value_type > &l)
 
persistent_allocationoperator= (const std::initializer_list< value_type > &l)
 
virtual void resize (size_type count) override
 
void reserve (size_type count)
 
size_type capacity (void) const
 
void shrink_to_fit (void)
 
virtual void free (void) override
 
void push_back (const value_type &value)
 
void clear (void)
 
- Public Member Functions inherited from lift::allocation< system, T, index_type >
LIFT_HOST_DEVICE allocation ()
 
 allocation (size_type count)
 
LIFT_HOST_DEVICE allocation (const allocation &other)
 
 allocation (const pointer< system, value_type, index_type > &other)
 
 allocation (const std::initializer_list< value_type > &l)
 
allocationoperator= (const pointer< system, value_type, index_type > &other)
 
allocationoperator= (const std::initializer_list< value_type > &l)
 
void copy (const other_allocation &other)
 
- Public Member Functions inherited from lift::pointer< system, T, index_type >
LIFT_HOST_DEVICE pointer range (const size_type offset, size_type len=size_type(-1)) const
 
LIFT_HOST_DEVICE pointer operator+ (off_t offset) const
 
LIFT_HOST_DEVICE pointer operator- (off_t offset) const
 
LIFT_HOST_DEVICE pointer truncate (size_t new_size)
 
value_type peek (index_type pos)
 
void poke (index_type pos, const value_type value)
 
- Public Member Functions inherited from lift::tagged_pointer_base< system, T, index_type >
LIFT_HOST_DEVICE tagged_pointer_base ()
 The default constructor initializes the pointer to null. More...
 
LIFT_HOST_DEVICE tagged_pointer_base (T *storage, size_type storage_size)
 Construct a tagged pointer from a raw pointer. More...
 
LIFT_HOST_DEVICE tagged_pointer_base (tagged_pointer_base< other_system, other_value_type, index_type > &other)
 Copy constructor creates a copy of the pointer. More...
 
LIFT_HOST_DEVICE tagged_pointer_base (other_pointer &other)
 
LIFT_HOST_DEVICE
tagged_pointer_base
operator= (tagged_pointer_base< other_system, other_value_type, index_type > &other)
 Copy constructor creates a copy of the pointer. More...
 
LIFT_HOST_DEVICE
const_reference_type 
at (size_type pos) const
 
LIFT_HOST_DEVICE reference_type at (size_type pos)
 
LIFT_HOST_DEVICE
const_reference_type 
operator[] (size_type pos) const
 
LIFT_HOST_DEVICE reference_type operator[] (size_type pos)
 
LIFT_HOST_DEVICE
const_reference_type 
front () const
 
LIFT_HOST_DEVICE reference_type front ()
 
LIFT_HOST_DEVICE
const_reference_type 
back () const
 
LIFT_HOST_DEVICE reference_type back ()
 
LIFT_HOST_DEVICE
const_iterator_type 
begin () const
 
LIFT_HOST_DEVICE iterator_type begin ()
 
LIFT_HOST_DEVICE
const_iterator_type 
end () const
 
LIFT_HOST_DEVICE iterator_type end ()
 
LIFT_HOST_DEVICE
const_iterator_type 
cbegin () const
 
LIFT_HOST_DEVICE
const_iterator_type 
cend () const
 
LIFT_HOST_DEVICE
thrust_const_iterator_type 
t_begin () const
 Returns a Thrust-compatible iterator pointing at the base address of the pointer. More...
 
LIFT_HOST_DEVICE
thrust_iterator_type 
t_begin ()
 Returns a Thrust-compatible iterator pointing at the base address of the pointer. More...
 
LIFT_HOST_DEVICE
thrust_const_iterator_type 
t_end () const
 Returns a Thrust-compatible iterator pointing at the end of the memory region covered by this pointer object. More...
 
LIFT_HOST_DEVICE
thrust_iterator_type 
t_end ()
 Returns a Thrust-compatible iterator pointing at the end of the memory region covered by this pointer object. More...
 
LIFT_HOST_DEVICE size_type size () const
 
LIFT_HOST_DEVICE bool empty () const
 
LIFT_HOST_DEVICE pointer_type data () const
 

Additional Inherited Members

- Protected Member Functions inherited from lift::allocation< system, T, index_type >
void device_memory_copy (void *dst, const void *src, size_t size)
 
- Protected Attributes inherited from lift::persistent_allocation< system, T, index_type, allocator >
size_type storage_capacity
 
- Protected Attributes inherited from lift::tagged_pointer_base< system, T, index_type >
pointer_type storage
 
size_type storage_size
 

Detailed Description

template<target_system system, typename T, typename index_type = uint32, typename allocator = typename default_memory_allocator<system>::type>
struct lift::scoped_allocation< system, T, index_type, allocator >

Definition at line 47 of file scoped_allocation.h.

Member Typedef Documentation

template<target_system system, typename T , typename index_type = uint32, typename allocator = typename default_memory_allocator<system>::type>
typedef persistent_allocation<system, T, index_type, allocator> lift::scoped_allocation< system, T, index_type, allocator >::base

Definition at line 49 of file scoped_allocation.h.

template<target_system system, typename T , typename index_type = uint32, typename allocator = typename default_memory_allocator<system>::type>
typedef allocation<system, T, _index_type> lift::persistent_allocation< system, T, _index_type, allocator >::base

Definition at line 54 of file persistent_allocation.h.

Constructor & Destructor Documentation

template<target_system system, typename T , typename index_type = uint32, typename allocator = typename default_memory_allocator<system>::type>
lift::scoped_allocation< system, T, index_type, allocator >::~scoped_allocation ( )
inline

Definition at line 52 of file scoped_allocation.h.


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