STXXL
1.4-dev
|
Definition at line 32 of file pq_int_merger.h.
Public Types | |
enum | { max_arity = MaxArity } |
typedef CompareType | compare_type |
comparator object type More... | |
typedef int_merger< ValueType, CompareType, MaxArity > | self_type |
our type More... | |
typedef value_type * | sequence_type |
type of sequences in which the values are stored: memory arrays More... | |
typedef internal_size_type | size_type |
size type of total number of item in merger More... | |
typedef loser_tree< self_type, CompareType, MaxArity > | tree_type |
type of embedded loser tree More... | |
typedef ValueType | value_type |
type of values in merger More... | |
Public Member Functions | |
~int_merger () | |
void | append_array (value_type *target, unsigned_type length) |
append array to merger, takes ownership of the array. requires: is_space_available() == 1 More... | |
bool | is_sentinel (const value_type &a) const |
True if a is the sentinel value. More... | |
bool | is_space_available () const |
Whether there is still space for new array. More... | |
m_size (0) | |
unsigned_type | mem_cons () const |
mem_cons_ (0) | |
void | multi_merge (value_type *begin, value_type *end) |
extract the (length = end - begin) smallest elements and write them to [begin..end) empty segments are deallocated. Requires: there are at least length elements and segments are ended by sentinels. More... | |
sentinel (c.min_value()) | |
size_type | size () const |
Return the number of items in the arrays. More... | |
void | swap (int_merger &obj) |
Interface for loser_tree | |
bool | is_array_empty (unsigned_type slot) const |
is this array invalid? here: empty and prefixed with sentinel? More... | |
bool | is_array_allocated (unsigned_type slot) const |
is this array's backing memory still allocated or does the current point to sentinel? More... | |
sequence_type & | get_array (unsigned_type slot) |
Return the item sequence of the given slot. More... | |
void | swap_arrays (unsigned_type a, unsigned_type b) |
Swap contents of arrays a and b. More... | |
void | make_array_sentinel (unsigned_type slot) |
Set a usually empty array to the sentinel. More... | |
void | free_array (unsigned_type slot) |
free an empty segment . More... | |
void | prefetch_arrays () |
Hint (prefetch) first non-internal (actually second) block of each sequence. No-operation for internal arrays. More... | |
Public Attributes | |
__pad0__: tree(c | |
* | this |
Protected Attributes | |
value_type * | current [MaxArity] |
pointer to current element More... | |
value_type * | current_end [MaxArity] |
pointer to end of block for current element More... | |
size_type | m_size |
total number of elements stored More... | |
unsigned_type | mem_cons_ |
value_type * | segment [MaxArity] |
start of Segments More... | |
unsigned_type | segment_size [MaxArity] |
just to count the internal memory consumption, in bytes More... | |
value_type | sentinel |
target of free segment pointers More... | |
tree_type | tree |
loser tree instance More... | |
Additional Inherited Members | |
Private Member Functions inherited from stxxl::noncopyable | |
noncopyable () | |
typedef CompareType stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::compare_type |
comparator object type
Definition at line 38 of file pq_int_merger.h.
typedef int_merger<ValueType, CompareType, MaxArity> stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::self_type |
our type
Definition at line 43 of file pq_int_merger.h.
typedef value_type* stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::sequence_type |
type of sequences in which the values are stored: memory arrays
Definition at line 54 of file pq_int_merger.h.
typedef internal_size_type stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::size_type |
size type of total number of item in merger
Definition at line 57 of file pq_int_merger.h.
typedef loser_tree<self_type, CompareType, MaxArity> stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::tree_type |
type of embedded loser tree
Definition at line 50 of file pq_int_merger.h.
typedef ValueType stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::value_type |
type of values in merger
Definition at line 36 of file pq_int_merger.h.
anonymous enum |
Enumerator | |
---|---|
max_arity |
Definition at line 40 of file pq_int_merger.h.
|
inline |
Definition at line 165 of file pq_int_merger.h.
|
inline |
append array to merger, takes ownership of the array. requires: is_space_available() == 1
Definition at line 207 of file pq_int_merger.h.
|
inline |
free an empty segment .
Definition at line 124 of file pq_int_merger.h.
|
inline |
Return the item sequence of the given slot.
Definition at line 101 of file pq_int_merger.h.
|
inline |
is this array's backing memory still allocated or does the current point to sentinel?
Definition at line 95 of file pq_int_merger.h.
|
inline |
is this array invalid? here: empty and prefixed with sentinel?
Definition at line 88 of file pq_int_merger.h.
|
inline |
True if a is the sentinel value.
Definition at line 200 of file pq_int_merger.h.
|
inline |
Whether there is still space for new array.
Definition at line 194 of file pq_int_merger.h.
|
inline |
Definition at line 154 of file pq_int_merger.h.
|
inline |
Set a usually empty array to the sentinel.
Definition at line 116 of file pq_int_merger.h.
|
inline |
Definition at line 191 of file pq_int_merger.h.
stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::mem_cons_ | ( | 0 | ) |
|
inline |
extract the (length = end - begin) smallest elements and write them to [begin..end) empty segments are deallocated. Requires: there are at least length elements and segments are ended by sentinels.
Definition at line 249 of file pq_int_merger.h.
|
inline |
Hint (prefetch) first non-internal (actually second) block of each sequence. No-operation for internal arrays.
Definition at line 144 of file pq_int_merger.h.
stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::sentinel | ( | c. | min_value() | ) |
|
inline |
Return the number of items in the arrays.
Definition at line 241 of file pq_int_merger.h.
|
inline |
Definition at line 181 of file pq_int_merger.h.
|
inline |
Swap contents of arrays a and b.
Definition at line 107 of file pq_int_merger.h.
stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::__pad0__ |
Definition at line 151 of file pq_int_merger.h.
|
protected |
pointer to current element
Definition at line 70 of file pq_int_merger.h.
Referenced by stxxl::priority_queue_local::int_merger< value_type, comparator_type, IntKMAX >::swap().
|
protected |
pointer to end of block for current element
Definition at line 72 of file pq_int_merger.h.
Referenced by stxxl::priority_queue_local::int_merger< value_type, comparator_type, IntKMAX >::swap().
|
protected |
total number of elements stored
Definition at line 81 of file pq_int_merger.h.
|
protected |
Definition at line 78 of file pq_int_merger.h.
Referenced by stxxl::priority_queue_local::int_merger< value_type, comparator_type, IntKMAX >::swap().
|
protected |
start of Segments
Definition at line 74 of file pq_int_merger.h.
Referenced by stxxl::priority_queue_local::int_merger< value_type, comparator_type, IntKMAX >::swap().
|
protected |
just to count the internal memory consumption, in bytes
Definition at line 76 of file pq_int_merger.h.
Referenced by stxxl::priority_queue_local::int_merger< value_type, comparator_type, IntKMAX >::swap().
|
protected |
target of free segment pointers
Definition at line 64 of file pq_int_merger.h.
Referenced by stxxl::priority_queue_local::int_merger< value_type, comparator_type, IntKMAX >::swap().
* stxxl::priority_queue_local::int_merger< ValueType, CompareType, MaxArity >::this |
Definition at line 151 of file pq_int_merger.h.
|
protected |
loser tree instance
Definition at line 61 of file pq_int_merger.h.