COMBINATORIAL_BLAS  1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends
iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc > Class Template Reference

#include <funnel.h>

List of all members.

Classes

struct  Node
struct  rebind
class  stream
class  stream_iterator

Public Types

enum  order_tag_ { order = Order }
enum  mmth_tag_ { 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

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)
template<class FwIt >
FwIt operator() (FwIt begin, FwIt end)

Static Public Member Functions

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

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.

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.

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.

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.

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.

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

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 

Definition at line 126 of file funnel.h.

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 

Definition at line 125 of file funnel.h.


Constructor & Destructor Documentation

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.

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.

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.


Member Function Documentation

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.

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.

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.

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.

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.

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.

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>>
static order_t iosort::merge_tree< RanIt, Order, Splitter, Pred, Refiller, Alloc >::min_order ( )
inlinestatic

Definition at line 168 of file funnel.h.

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
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.

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.

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.

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.


Friends And Related Function Documentation

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 struct Node
friend

Definition at line 135 of file funnel.h.

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 122 of file funnel.h.


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