COMBINATORIAL_BLAS 1.6
Loading...
Searching...
No Matches
iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc > Class Template Reference

#include <funnel.h>

Classes

struct  rebind
class  stream
class  stream_iterator

Public Types

enum  order_tag_ { order = Order , order = Order }
enum  mmth_tag_ { MAX_MERGE_TREE_HEIGHT = 16 , MAX_MERGE_TREE_HEIGHT = 16 }
enum  order_tag_ { order = Order , order = Order }
enum  mmth_tag_ { MAX_MERGE_TREE_HEIGHT = 16 , MAX_MERGE_TREE_HEIGHT = 16 }
typedef unsigned int order_t
typedef Splitter splitter
typedef std::iterator_traits< RanIt >::value_type value_type
typedef Alloc allocator
typedef RanIt iterator
typedef Pred predicate
typedef unsigned int order_t
typedef Splitter splitter
typedef std::iterator_traits< RanIt >::value_type value_type
typedef Alloc allocator
typedef RanIt iterator
typedef Pred predicate

Public Member Functions

 merge_tree (order_t k)
 merge_tree (order_t k, const allocator &alloc)
 ~merge_tree ()
void add_stream (RanIt begin, RanIt end)
stream_iterator begin ()
stream_iterator end ()
void reset ()
void set_refiller (const Refiller &r)
const Refiller & get_refiller () const
template<class FwIt>
FwIt empty (FwIt begin, FwIt end)
template<class OutIt>
OutIt empty (OutIt begin)
template<class It>
It operator() (It begin, It end)
template<class OutIt>
OutIt operator() (OutIt begin)
 merge_tree (order_t k)
 merge_tree (order_t k, const allocator &alloc)
 ~merge_tree ()
void add_stream (RanIt begin, RanIt end)
stream_iterator begin ()
stream_iterator end ()
void reset ()
void set_refiller (const Refiller &r)
const Refiller & get_refiller () const
template<class FwIt>
FwIt empty (FwIt begin, FwIt end)
template<class OutIt>
OutIt empty (OutIt begin)
template<class It>
It operator() (It begin, It end)
template<class OutIt>
OutIt operator() (OutIt begin)
template<class FwIt>
FwIt operator() (FwIt begin, FwIt end)

Static Public Member Functions

static order_t min_order ()
static order_t min_order ()

Friends

class special_< RanIt, Order, Splitter, Pred, Refiller, Alloc >
struct Node

Detailed Description

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
class iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >

Definition at line 120 of file funnel.h.

Member Typedef Documentation

◆ allocator [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef Alloc iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::allocator

Definition at line 129 of file funnel.h.

◆ allocator [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef Alloc iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::allocator

Definition at line 129 of file funnel.h.

◆ iterator [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef RanIt iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::iterator

Definition at line 130 of file funnel.h.

◆ iterator [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef RanIt iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::iterator

Definition at line 130 of file funnel.h.

◆ order_t [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef unsigned int iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::order_t

Definition at line 124 of file funnel.h.

◆ order_t [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef unsigned int iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::order_t

Definition at line 124 of file funnel.h.

◆ predicate [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef Pred iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::predicate

Definition at line 131 of file funnel.h.

◆ predicate [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef Pred iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::predicate

Definition at line 131 of file funnel.h.

◆ splitter [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef Splitter iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::splitter

Definition at line 127 of file funnel.h.

◆ splitter [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef Splitter iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::splitter

Definition at line 127 of file funnel.h.

◆ value_type [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef std::iterator_traits<RanIt>::value_type iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::value_type

Definition at line 128 of file funnel.h.

◆ value_type [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
typedef std::iterator_traits<RanIt>::value_type iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::value_type

Definition at line 128 of file funnel.h.

Member Enumeration Documentation

◆ mmth_tag_ [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
enum iosort::merge_tree::mmth_tag_
Enumerator
MAX_MERGE_TREE_HEIGHT 
MAX_MERGE_TREE_HEIGHT 

Definition at line 126 of file funnel.h.

◆ mmth_tag_ [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
enum iosort::merge_tree::mmth_tag_
Enumerator
MAX_MERGE_TREE_HEIGHT 
MAX_MERGE_TREE_HEIGHT 

Definition at line 126 of file funnel.h.

◆ order_tag_ [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
enum iosort::merge_tree::order_tag_
Enumerator
order 
order 

Definition at line 125 of file funnel.h.

◆ order_tag_ [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
enum iosort::merge_tree::order_tag_
Enumerator
order 
order 

Definition at line 125 of file funnel.h.

Constructor & Destructor Documentation

◆ merge_tree() [1/4]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::merge_tree ( order_t k)
inline

Definition at line 162 of file funnel.h.

◆ merge_tree() [2/4]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::merge_tree ( order_t k,
const allocator & alloc )
inline

Definition at line 164 of file funnel.h.

◆ ~merge_tree() [1/2]

template<int order, class Splitter, class Pred, class Refiller, class Alloc>
iosort::merge_tree< order, Splitter, Pred, Refiller, Alloc >::~merge_tree ( )

Definition at line 217 of file funnel.timpl.h.

◆ merge_tree() [3/4]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::merge_tree ( order_t k)
inline

Definition at line 162 of file funnel.h.

◆ merge_tree() [4/4]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::merge_tree ( order_t k,
const allocator & alloc )
inline

Definition at line 164 of file funnel.h.

◆ ~merge_tree() [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::~merge_tree ( )

Member Function Documentation

◆ add_stream() [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
void iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::add_stream ( RanIt begin,
RanIt end )
inline

Definition at line 206 of file funnel.h.

◆ add_stream() [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
void iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::add_stream ( RanIt begin,
RanIt end )
inline

Definition at line 206 of file funnel.h.

◆ begin() [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
stream_iterator iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::begin ( )
inline

Definition at line 208 of file funnel.h.

◆ begin() [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
stream_iterator iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::begin ( )
inline

Definition at line 208 of file funnel.h.

◆ empty() [1/4]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
template<class FwIt>
FwIt iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::empty ( FwIt begin,
FwIt end )
inline

Definition at line 219 of file funnel.h.

◆ empty() [2/4]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
template<class FwIt>
FwIt iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::empty ( FwIt begin,
FwIt end )
inline

Definition at line 219 of file funnel.h.

◆ empty() [3/4]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
template<class OutIt>
OutIt iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::empty ( OutIt begin)
inline

Definition at line 222 of file funnel.h.

◆ empty() [4/4]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
template<class OutIt>
OutIt iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::empty ( OutIt begin)
inline

Definition at line 222 of file funnel.h.

◆ end() [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
stream_iterator iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::end ( )
inline

Definition at line 210 of file funnel.h.

◆ end() [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
stream_iterator iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::end ( )
inline

Definition at line 210 of file funnel.h.

◆ get_refiller() [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
const Refiller & iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::get_refiller ( ) const
inline

Definition at line 216 of file funnel.h.

◆ get_refiller() [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
const Refiller & iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::get_refiller ( ) const
inline

Definition at line 216 of file funnel.h.

◆ min_order() [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
order_t iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::min_order ( )
inlinestatic

Definition at line 168 of file funnel.h.

◆ min_order() [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
order_t iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::min_order ( )
inlinestatic

Definition at line 168 of file funnel.h.

◆ operator()() [1/5]

template<int order, class Splitter, class Pred, class Refiller, class Alloc>
template<class FwIt>
FwIt iosort::merge_tree< order, Splitter, Pred, Refiller, Alloc >::operator() ( FwIt begin,
FwIt end )

Definition at line 247 of file funnel.timpl.h.

◆ operator()() [2/5]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
template<class It>
It iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::operator() ( It begin,
It end )
inline

◆ operator()() [3/5]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
template<class It>
It iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::operator() ( It begin,
It end )
inline

◆ operator()() [4/5]

template<int order, class Splitter, class Pred, class Refiller, class Alloc>
template<class OutIt>
OutIt iosort::merge_tree< order, Splitter, Pred, Refiller, Alloc >::operator() ( OutIt begin)
inline

Definition at line 264 of file funnel.timpl.h.

◆ operator()() [5/5]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
template<class OutIt>
OutIt iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::operator() ( OutIt begin)
inline

◆ reset() [1/2]

template<int order, class Splitter, class Pred, class Refiller, class Alloc>
void iosort::merge_tree< order, Splitter, Pred, Refiller, Alloc >::reset ( )
inline

Definition at line 230 of file funnel.timpl.h.

◆ reset() [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
void iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::reset ( )
inline

◆ set_refiller() [1/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
void iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::set_refiller ( const Refiller & r)
inline

Definition at line 214 of file funnel.h.

◆ set_refiller() [2/2]

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
void iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::set_refiller ( const Refiller & r)
inline

Definition at line 214 of file funnel.h.

◆ Node

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
Node
friend

Definition at line 136 of file funnel.h.

◆ special_< RanIt, Order, Splitter, Pred, Refiller, Alloc >

template<class RanIt, int Order = 2, class Splitter = default_splitter<Order>, class Pred = std::less<typename std::iterator_traits<RanIt>::value_type>, class Refiller = nop_refill<RanIt>, class Alloc = std::allocator<typename std::iterator_traits<RanIt>::value_type>>
friend class special_< RanIt, Order, Splitter, Pred, Refiller, Alloc >
friend

Definition at line 112 of file funnel.h.


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