chunkedseq
container library for large in-memory data sets
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Functions
pasl::data::fixedcapacity::base Namespace Reference

Classes

class  apply_foreach_body
 Loop body for array tabulation. More...
 
class  const_foreach_body
 Loop body for array-initialization by constant. More...
 
class  heap_allocator
 
class  inline_allocator
 
class  ringbuffer_idx
 Fixed-capacity ring buffer, using indices. More...
 
class  ringbuffer_ptr
 Fixed-capacity ring buffer. More...
 
class  ringbuffer_ptrx
 Fixed-capacity ring buffer. More...
 
class  stack
 [fixedcapacitystack] More...
 

Functions

template<class Alloc >
void copy (typename Alloc::pointer destination, typename Alloc::const_pointer source, typename Alloc::size_type num)
 Polymorphic array copy. More...
 
template<class Alloc >
void pblit (typename Alloc::const_pointer t1, int i1, typename Alloc::pointer t2, int i2, int nb)
 
template<class Alloc >
void destroy_items (typename Alloc::pointer t, int i, int nb)
 
template<class Alloc >
void destroy_items (typename Alloc::pointer t, int nb)
 
template<class Alloc >
void pshiftn (typename Alloc::pointer t, typename Alloc::size_type num, int shift_by)
 Polymorphic shift by position. More...
 
template<class Alloc >
void pfill (typename Alloc::pointer first, typename Alloc::pointer last, typename Alloc::const_reference val)
 Polymorphic fill range with value. More...
 
template<class Alloc , int capacity>
void copy_data_wrap_src (typename Alloc::const_pointer t1, int i1, typename Alloc::pointer t2, int i2, int nb)
 
template<class Alloc , int capacity>
void copy_data_wrap_dst (typename Alloc::const_pointer t1, int i1, typename Alloc::pointer t2, int i2, int nb)
 
template<class Alloc , int capacity>
void copy_data_wrap_src_and_dst (typename Alloc::const_pointer t1, int i1, typename Alloc::pointer t2, int i2, int nb)
 
template<class Alloc , int capacity>
void destroy_items_wrap_target (typename Alloc::pointer t, int i, int nb)
 
template<class Body >
void papply (typename Body::allocator_type::pointer t, typename Body::allocator_type::size_type num, typename Body::allocator_type::size_type k, const Body &body)
 Polymorphic apply-to-each item. More...
 
template<class Body >
void papply (typename Body::allocator_type::pointer t, typename Body::allocator_type::size_type num, typename Body::allocator_type::size_type k, const const_foreach_body< typename Body::allocator_type > &body)
 
template<class Body , int capacity>
void papply_wrap_dst (typename Body::allocator_type::pointer t, int i, int nb, typename Body::allocator_type::size_type k, const Body &body)
 
template<class Body , int capacity>
void papply_wrap_dst (typename Body::allocator_type::pointer t, int i, int nb, const Body &body)
 

Function Documentation

template<class Alloc >
void pasl::data::fixedcapacity::base::copy ( typename Alloc::pointer  destination,
typename Alloc::const_pointer  source,
typename Alloc::size_type  num 
)

Copies num items from the location pointed to by source directly to the memory block pointed to by destination.

Template Parameters
Typeof the allocator object used to define the storage allocation model.
Parameters
destinationPointer to the destination array where the content is to be copied
sourcePointer to the source of data to be copied
numnumber of items to copy

Definition at line 127 of file fixedcapacitybase.hpp.

template<class Alloc , int capacity>
void pasl::data::fixedcapacity::base::copy_data_wrap_dst ( typename Alloc::const_pointer  t1,
int  i1,
typename Alloc::pointer  t2,
int  i2,
int  nb 
)

Definition at line 227 of file fixedcapacitybase.hpp.

template<class Alloc , int capacity>
void pasl::data::fixedcapacity::base::copy_data_wrap_src ( typename Alloc::const_pointer  t1,
int  i1,
typename Alloc::pointer  t2,
int  i2,
int  nb 
)

Definition at line 208 of file fixedcapacitybase.hpp.

template<class Alloc , int capacity>
void pasl::data::fixedcapacity::base::copy_data_wrap_src_and_dst ( typename Alloc::const_pointer  t1,
int  i1,
typename Alloc::pointer  t2,
int  i2,
int  nb 
)

Definition at line 247 of file fixedcapacitybase.hpp.

template<class Alloc >
void pasl::data::fixedcapacity::base::destroy_items ( typename Alloc::pointer  t,
int  i,
int  nb 
)

Definition at line 151 of file fixedcapacitybase.hpp.

template<class Alloc >
void pasl::data::fixedcapacity::base::destroy_items ( typename Alloc::pointer  t,
int  nb 
)

Definition at line 159 of file fixedcapacitybase.hpp.

template<class Alloc , int capacity>
void pasl::data::fixedcapacity::base::destroy_items_wrap_target ( typename Alloc::pointer  t,
int  i,
int  nb 
)

Definition at line 265 of file fixedcapacitybase.hpp.

template<class Body >
void pasl::data::fixedcapacity::base::papply ( typename Body::allocator_type::pointer  t,
typename Body::allocator_type::size_type  num,
typename Body::allocator_type::size_type  k,
const Body &  body 
)

Iteratively applies the client-supplied function body(k, t[0]); body(k+1, t[1]); ... body(k+num-1 t[num-1]);

Template Parameters
Typeof the loop-body class. This class must implement the interface defined by For-each loops .
Parameters
tpointer to the start of the destination array
numnumber of cells to initialize
klogical start position
bodyloop-body function

Definition at line 345 of file fixedcapacitybase.hpp.

template<class Body >
void pasl::data::fixedcapacity::base::papply ( typename Body::allocator_type::pointer  t,
typename Body::allocator_type::size_type  num,
typename Body::allocator_type::size_type  k,
const const_foreach_body< typename Body::allocator_type > &  body 
)

Definition at line 358 of file fixedcapacitybase.hpp.

template<class Body , int capacity>
void pasl::data::fixedcapacity::base::papply_wrap_dst ( typename Body::allocator_type::pointer  t,
int  i,
int  nb,
typename Body::allocator_type::size_type  k,
const Body &  body 
)

Definition at line 372 of file fixedcapacitybase.hpp.

template<class Body , int capacity>
void pasl::data::fixedcapacity::base::papply_wrap_dst ( typename Body::allocator_type::pointer  t,
int  i,
int  nb,
const Body &  body 
)

Definition at line 388 of file fixedcapacitybase.hpp.

template<class Alloc >
void pasl::data::fixedcapacity::base::pblit ( typename Alloc::const_pointer  t1,
int  i1,
typename Alloc::pointer  t2,
int  i2,
int  nb 
)

Definition at line 144 of file fixedcapacitybase.hpp.

template<class Alloc >
void pasl::data::fixedcapacity::base::pfill ( typename Alloc::pointer  first,
typename Alloc::pointer  last,
typename Alloc::const_reference  val 
)

Behavior is exactly the same as that of std::fill.

Definition at line 194 of file fixedcapacitybase.hpp.

template<class Alloc >
void pasl::data::fixedcapacity::base::pshiftn ( typename Alloc::pointer  t,
typename Alloc::size_type  num,
int  shift_by 
)

Moves the first num items of the given array pointed at by t forward or backward in the same array by shift_by positions. The direction of the shift is determined by whether shift_by is positive or negative.

To avoid overflows, the size of the array t shall be at least num + abs(shift_by) items.

Template Parameters
Typeof the allocator object used to define the storage allocation model.
Parameters
destinationPointer to the destination array where the content is to be copied
sourcePointer to the source of data to be copied
numnumber of items to copy

Definition at line 182 of file fixedcapacitybase.hpp.