|
void | check_cached (const measure_type &meas) const |
|
|
| chunk () |
|
| chunk (const self_type &other) |
|
| ~chunk () |
|
|
bool | full () const |
|
bool | empty () const |
|
bool | partial () const |
|
size_type | size () const |
|
|
measured_type | get_cached () const |
|
|
value_type & | front () const |
|
value_type & | back () const |
|
void | frontn (value_type *xs, size_type nb) |
|
void | backn (value_type *xs, size_type nb) |
|
value_type & | operator[] (size_type ix) const |
|
template<class Body > |
void | for_each (const Body &body) const |
|
template<class Body > |
void | for_each_segment (const Body &body) const |
|
template<class Body > |
void | for_each_segment (size_type lo, size_type hi, const Body &body) const |
|
segment_type | segment_by_index (size_type i) const |
|
size_type | index_of_pointer (const value_type *p) const |
|
|
void | push_front (const measure_type &meas, const value_type &x) |
|
void | push_back (const measure_type &meas, const value_type &x) |
|
value_type | pop_front (const measure_type &meas) |
|
value_type | pop_back (const measure_type &meas) |
|
void | pushn_front (const measure_type &meas, const value_type *xs, size_type nb) |
|
void | pushn_back (const measure_type &meas, const value_type *xs, size_type nb) |
|
template<class Body > |
void | pushn_back (const measure_type &meas, const Body &body, size_type nb) |
|
void | popn_front (const measure_type &meas, size_type nb) |
|
void | popn_back (const measure_type &meas, size_type nb) |
|
void | popn_front (const measure_type &meas, value_type *xs, size_type nb) |
|
void | popn_back (const measure_type &meas, value_type *xs, size_type nb) |
|
template<class Consumer , bool should_consume> |
void | popn_back (const measure_type &meas, const Consumer &cons, size_type nb) |
|
template<class Consumer , bool should_consume> |
void | popn_front (const measure_type &meas, const Consumer &cons, size_type nb) |
|
void | transfer_from_back_to_front (const measure_type &meas, chunk &target, size_type nb) |
|
void | transfer_from_front_to_back (const measure_type &meas, chunk &target, size_type nb) |
|
template<class Pred , class Search , class Search_measure > |
Search::measured_type | split (const measure_type &meas, const Pred &p, const Search &search, const Search_measure &search_meas, typename Search::measured_type prefix, bool &found, value_type &x, self_type &other) |
|
template<class Pred , class Search , class Search_measure > |
Search::measured_type | split (const measure_type &meas, const Pred &p, const Search &search, const Search_measure &search_meas, typename Search::measured_type prefix, value_type &x, self_type &other) |
|
template<class Pred , class Search , class Search_measure > |
Search::measured_type | split (const measure_type &meas, const Pred &p, const Search &search, const Search_measure &search_meas, typename Search::measured_type prefix, self_type &other) |
|
template<class Pred > |
measured_type | split (const measure_type &meas, const Pred &p, measured_type prefix, value_type &x, self_type &other) |
|
template<class Pred > |
measured_type | split (const measure_type &meas, const Pred &p, measured_type prefix, self_type &other) |
|
void | concat (const measure_type &meas, self_type &other) |
|
void | clear () |
|
void | swap (self_type &other) |
|
void | reset_cache (const measure_type &meas) |
|
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
class pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >
- Template Parameters
-
Fixed_capacity_queue | type of the fixed-capacity array |
Cached_measure | type of the policy used to maintain the cached measurement Annotation type of an annotation object that a client might want to attach, e.g., parent/sibling pointer |
Pointer_deleter1 | type of the policy used to manage deallocation of (pointer-value) items |
Pointer_deep_copier1 | type of the policy used to manage copying of (pointer-value) items |
We assume that each chunk consists of one or two segments. Two segments indicates wraparound in a ringbuffer. In the future we might consider supporting unbounded segments.
Definition at line 93 of file chunk.hpp.
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
void pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::clear |
( |
| ) |
|
|
inline |
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
bool pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::empty |
( |
| ) |
const |
|
inline |
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
template<class Body >
void pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::for_each |
( |
const Body & |
body | ) |
const |
|
inline |
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
template<class Body >
void pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::for_each_segment |
( |
const Body & |
body | ) |
const |
|
inline |
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
bool pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::full |
( |
| ) |
const |
|
inline |
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
bool pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::partial |
( |
| ) |
const |
|
inline |
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
template<class Consumer , bool should_consume>
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
template<class Consumer , bool should_consume>
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
template<class Pred , class Search , class Search_measure >
Search::measured_type pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::split |
( |
const measure_type & |
meas, |
|
|
const Pred & |
p, |
|
|
const Search & |
search, |
|
|
const Search_measure & |
search_meas, |
|
|
typename Search::measured_type |
prefix, |
|
|
bool & |
found, |
|
|
value_type & |
x, |
|
|
self_type & |
other |
|
) |
| |
|
inline |
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
template<class Pred , class Search , class Search_measure >
Search::measured_type pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::split |
( |
const measure_type & |
meas, |
|
|
const Pred & |
p, |
|
|
const Search & |
search, |
|
|
const Search_measure & |
search_meas, |
|
|
typename Search::measured_type |
prefix, |
|
|
value_type & |
x, |
|
|
self_type & |
other |
|
) |
| |
|
inline |
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
template<class Pred , class Search , class Search_measure >
Search::measured_type pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::split |
( |
const measure_type & |
meas, |
|
|
const Pred & |
p, |
|
|
const Search & |
search, |
|
|
const Search_measure & |
search_meas, |
|
|
typename Search::measured_type |
prefix, |
|
|
self_type & |
other |
|
) |
| |
|
inline |
template<class Fixed_capacity_queue, class Cached_measure, class Annotation = annotation::annotation_builder<>, class Pointer_deleter1 = Dummy_pointer_deleter, class Pointer_deep_copier1 = Dummy_pointer_deep_copier, class Size_access = itemsearch::no_size_access>
constexpr int pasl::data::chunkedseq::chunk< Fixed_capacity_queue, Cached_measure, Annotation, Pointer_deleter1, Pointer_deep_copier1, Size_access >::capacity = queue_type::capacity |
|
static |