Thrill  0.1
GroupByMultiwayMergeIterator< ValueType, KeyExtractor, Comparator > Class Template Reference

Detailed Description

template<typename ValueType, typename KeyExtractor, typename Comparator>
class thrill::api::GroupByMultiwayMergeIterator< ValueType, KeyExtractor, Comparator >

Definition at line 132 of file group_by_iterator.hpp.

+ Collaboration diagram for GroupByMultiwayMergeIterator< ValueType, KeyExtractor, Comparator >:

#include <group_by_iterator.hpp>

Public Types

using Key = typename common::FunctionTraits< KeyExtractor >::result_type
 
using Puller = core::MultiwayMergeTree< ValueIn, std::vector< data::File::Reader >::iterator, Comparator >
 
using ValueIn = ValueType
 

Public Member Functions

 GroupByMultiwayMergeIterator (Puller &reader, const KeyExtractor &key_extractor)
 
 GroupByMultiwayMergeIterator (const GroupByMultiwayMergeIterator &)=delete
 non-copyable: delete copy-constructor More...
 
 GroupByMultiwayMergeIterator (GroupByMultiwayMergeIterator &&)=default
 move-constructor: default More...
 
bool HasNext ()
 
ValueIn Next ()
 
GroupByMultiwayMergeIteratoroperator= (const GroupByMultiwayMergeIterator &)=delete
 non-copyable: delete assignment operator More...
 
GroupByMultiwayMergeIteratoroperator= (GroupByMultiwayMergeIterator &&)=default
 move-assignment operator: default More...
 

Static Public Attributes

static constexpr bool debug = false
 

Private Member Functions

void GetNextElem ()
 
const KeyGetNextKey ()
 
bool HasNextForReal ()
 

Private Attributes

ValueIn elem_
 
bool equal_key_
 
bool is_reader_empty_
 
Key key_
 
const KeyExtractor & key_extractor_
 
Pullerreader_
 

Member Typedef Documentation

◆ Key

using Key = typename common::FunctionTraits<KeyExtractor>::result_type

Definition at line 149 of file group_by_iterator.hpp.

◆ Puller

using Puller = core::MultiwayMergeTree< ValueIn, std::vector<data::File::Reader>::iterator, Comparator>

Definition at line 151 of file group_by_iterator.hpp.

◆ ValueIn

using ValueIn = ValueType

Definition at line 148 of file group_by_iterator.hpp.

Constructor & Destructor Documentation

◆ GroupByMultiwayMergeIterator() [1/3]

GroupByMultiwayMergeIterator ( Puller reader,
const KeyExtractor &  key_extractor 
)
inline

◆ GroupByMultiwayMergeIterator() [2/3]

GroupByMultiwayMergeIterator ( const GroupByMultiwayMergeIterator< ValueType, KeyExtractor, Comparator > &  )
delete

non-copyable: delete copy-constructor

◆ GroupByMultiwayMergeIterator() [3/3]

GroupByMultiwayMergeIterator ( GroupByMultiwayMergeIterator< ValueType, KeyExtractor, Comparator > &&  )
default

move-constructor: default

Member Function Documentation

◆ GetNextElem()

◆ GetNextKey()

◆ HasNext()

◆ HasNextForReal()

bool HasNextForReal ( )
inlineprivate

◆ Next()

◆ operator=() [1/2]

GroupByMultiwayMergeIterator& operator= ( const GroupByMultiwayMergeIterator< ValueType, KeyExtractor, Comparator > &  )
delete

non-copyable: delete assignment operator

◆ operator=() [2/2]

GroupByMultiwayMergeIterator& operator= ( GroupByMultiwayMergeIterator< ValueType, KeyExtractor, Comparator > &&  )
default

move-assignment operator: default

Member Data Documentation

◆ debug

constexpr bool debug = false
static

Definition at line 147 of file group_by_iterator.hpp.

◆ elem_

ValueIn elem_
private

Definition at line 196 of file group_by_iterator.hpp.

◆ equal_key_

bool equal_key_
private

Definition at line 195 of file group_by_iterator.hpp.

◆ is_reader_empty_

bool is_reader_empty_
private

Definition at line 194 of file group_by_iterator.hpp.

◆ key_

Key key_
private

Definition at line 197 of file group_by_iterator.hpp.

◆ key_extractor_

const KeyExtractor& key_extractor_
private

Definition at line 193 of file group_by_iterator.hpp.

◆ reader_

Puller& reader_
private

Definition at line 192 of file group_by_iterator.hpp.


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