chunkedseq
container library for large in-memory data sets
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Attributes | List of all members
pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc > Class Template Reference

Fixed-capacity ring buffer, using indices. More...

#include <fixedcapacitybase.hpp>

Public Types

typedef int size_type
 
typedef Array_alloc::value_type value_type
 
typedef Item_alloc allocator_type
 
typedef segment< value_type * > segment_type
 

Public Member Functions

 ringbuffer_idx ()
 
 ringbuffer_idx (const ringbuffer_idx &other)
 
 ringbuffer_idx (size_type nb, const value_type &val)
 
 ~ringbuffer_idx ()
 
int size () const
 
bool full () const
 
bool empty () const
 
bool partial () const
 
void push_front (const value_type &x)
 
void push_back (const value_type &x)
 
value_typefront () const
 
value_typeback () const
 
value_type pop_front ()
 
value_type pop_back ()
 
void frontn (value_type *dst, int nb)
 
void backn (value_type *dst, int nb)
 
void pushn_front (const value_type *xs, int nb)
 
void pushn_back (const value_type *xs, int nb)
 
void popn_front (int nb)
 
template<class Body >
void pushn_back (const Body &body, int nb)
 
void popn_back (int nb)
 
void popn_front (value_type *dst, int nb)
 
void popn_back (value_type *dst, int nb)
 
void transfer_from_back_to_front (ringbuffer_idx &target, int nb)
 
void transfer_from_front_to_back (ringbuffer_idx &target, int nb)
 
value_typeoperator[] (int ix) const
 
value_typeoperator[] (size_t ix) const
 
void clear ()
 
void swap (ringbuffer_idx &other)
 
segment_type segment_by_index (int i) const
 
int index_of_pointer (const value_type *p) const
 
template<class Body >
void for_each (const Body &body) const
 
template<class Body >
void for_each_segment (int lo, int hi, const Body &body)
 

Static Public Attributes

static constexpr int capacity = Array_alloc::capacity
 

Detailed Description

template<class Array_alloc, class Item_alloc = std::allocator<typename Array_alloc::value_type>>
class pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >

Container properties

Template Parameters
Array_allocType of the allocator object used to define the storage policy of the array that is used by the stack to store the items of the stack.
Item_allocType of the allocator object used to define the storage allocation model. By default, the allocator class template is used, which defines the simplest memory allocation model and is value-independent. Aliased as member type vector::allocator_type.

Definition at line 416 of file fixedcapacitybase.hpp.

Member Typedef Documentation

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
typedef Item_alloc pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::allocator_type

Definition at line 421 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
typedef segment<value_type*> pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::segment_type

Definition at line 422 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
typedef int pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::size_type

Definition at line 419 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
typedef Array_alloc::value_type pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::value_type

Definition at line 420 of file fixedcapacitybase.hpp.

Constructor & Destructor Documentation

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::ringbuffer_idx ( )
inline

Definition at line 435 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::ringbuffer_idx ( const ringbuffer_idx< Array_alloc, Item_alloc > &  other)
inline

Definition at line 439 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::ringbuffer_idx ( size_type  nb,
const value_type val 
)
inline

Definition at line 444 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::~ringbuffer_idx ( )
inline

Definition at line 448 of file fixedcapacitybase.hpp.

Member Function Documentation

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
value_type& pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::back ( ) const
inline

Definition at line 491 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::backn ( value_type dst,
int  nb 
)
inline

Definition at line 569 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::clear ( )
inline

Definition at line 659 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
bool pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::empty ( ) const
inline

Definition at line 460 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
template<class Body >
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::for_each ( const Body &  body) const
inline

Definition at line 692 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
template<class Body >
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::for_each_segment ( int  lo,
int  hi,
const Body &  body 
)
inline

Definition at line 706 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
value_type& pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::front ( ) const
inline

Definition at line 486 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::frontn ( value_type dst,
int  nb 
)
inline
Todo:
: remove modulo operations below, using a "wrap" function.

Definition at line 564 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
bool pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::full ( ) const
inline

Definition at line 456 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
int pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::index_of_pointer ( const value_type p) const
inline

Definition at line 678 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
value_type& pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::operator[] ( int  ix) const
inline

Definition at line 651 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
value_type& pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::operator[] ( size_t  ix) const
inline

Definition at line 655 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
bool pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::partial ( ) const
inline

Definition at line 464 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
value_type pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::pop_back ( )
inline

Definition at line 510 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
value_type pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::pop_front ( )
inline

Definition at line 499 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::popn_back ( int  nb)
inline

Definition at line 605 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::popn_back ( value_type dst,
int  nb 
)
inline

Definition at line 617 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::popn_front ( int  nb)
inline

Definition at line 590 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::popn_front ( value_type dst,
int  nb 
)
inline

Definition at line 612 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::push_back ( const value_type x)
inline

Definition at line 477 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::push_front ( const value_type x)
inline

Definition at line 468 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::pushn_back ( const value_type xs,
int  nb 
)
inline

Definition at line 583 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
template<class Body >
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::pushn_back ( const Body &  body,
int  nb 
)
inline

Definition at line 598 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::pushn_front ( const value_type xs,
int  nb 
)
inline

Definition at line 575 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
segment_type pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::segment_by_index ( int  i) const
inline

Definition at line 669 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
int pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::size ( ) const
inline

Definition at line 452 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::swap ( ringbuffer_idx< Array_alloc, Item_alloc > &  other)
inline

Definition at line 663 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::transfer_from_back_to_front ( ringbuffer_idx< Array_alloc, Item_alloc > &  target,
int  nb 
)
inline

Definition at line 622 of file fixedcapacitybase.hpp.

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
void pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::transfer_from_front_to_back ( ringbuffer_idx< Array_alloc, Item_alloc > &  target,
int  nb 
)
inline

Definition at line 631 of file fixedcapacitybase.hpp.

Member Data Documentation

template<class Array_alloc , class Item_alloc = std::allocator<typename Array_alloc::value_type>>
constexpr int pasl::data::fixedcapacity::base::ringbuffer_idx< Array_alloc, Item_alloc >::capacity = Array_alloc::capacity
static

Definition at line 424 of file fixedcapacitybase.hpp.


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