TPIE

11a2c2d
tpie::pipelining::passive_sorter< T, pred_t, store_t > Class Template Reference

Pipelined sorter with push input and pull output. More...

#include <tpie/pipelining/sort.h>

Public Types

typedef T item_type
 Type of items sorted. More...
 
typedef merge_sorter< item_type, true, pred_t, store_t > sorter_t
 Type of the merge sort implementation used. More...
 
typedef sorter_t::ptr sorterptr
 Smart pointer to sorter_t. More...
 
typedef bits::sort_pull_output_t< item_type, pred_t, store_t > output_t
 Type of pipe sorter output. More...
 
typedef pipe_end< bits::passive_sorter_factory_input< item_type, pred_t, store_t > > input_pipe_t
 
typedef pullpipe_begin< bits::passive_sorter_factory_output< item_type, pred_t, store_t > > output_pipe_t
 

Public Member Functions

 passive_sorter (pred_t pred=pred_t(), store_t store=store_t())
 
 passive_sorter (const passive_sorter &)=delete
 
passive_sorteroperator= (const passive_sorter &)=delete
 
 passive_sorter (passive_sorter &&)=default
 
passive_sorteroperator= (passive_sorter &&)=default
 
input_pipe_t input ()
 Get the input push node. More...
 
output_pipe_t output ()
 Get the output pull node. More...
 

Detailed Description

template<typename T, typename pred_t, typename store_t>
class tpie::pipelining::passive_sorter< T, pred_t, store_t >

Pipelined sorter with push input and pull output.

Get the input pipe with input() and the output pullpipe with output().

Template Parameters
TThe type of item to sort
pred_tThe predicate (e.g. std::less<T>) indicating the predicate on which to order an item before another.

Definition at line 458 of file sort.h.

Member Typedef Documentation

◆ item_type

template<typename T , typename pred_t , typename store_t >
typedef T tpie::pipelining::passive_sorter< T, pred_t, store_t >::item_type

Type of items sorted.

Definition at line 530 of file sort.h.

◆ output_t

template<typename T , typename pred_t , typename store_t >
typedef bits::sort_pull_output_t<item_type, pred_t, store_t> tpie::pipelining::passive_sorter< T, pred_t, store_t >::output_t

Type of pipe sorter output.

Definition at line 536 of file sort.h.

◆ sorter_t

template<typename T , typename pred_t , typename store_t >
typedef merge_sorter<item_type, true, pred_t, store_t> tpie::pipelining::passive_sorter< T, pred_t, store_t >::sorter_t

Type of the merge sort implementation used.

Definition at line 532 of file sort.h.

◆ sorterptr

template<typename T , typename pred_t , typename store_t >
typedef sorter_t::ptr tpie::pipelining::passive_sorter< T, pred_t, store_t >::sorterptr

Smart pointer to sorter_t.

Definition at line 534 of file sort.h.

Member Function Documentation

◆ input()

template<typename T , typename pred_t , typename store_t >
input_pipe_t tpie::pipelining::passive_sorter< T, pred_t, store_t >::input ( )
inline

Get the input push node.

Definition at line 555 of file sort.h.

555  {
556  tp_assert(m_sorterInput, "input() called more than once");
557  auto ret = bits::passive_sorter_factory_input<item_type, pred_t, store_t>(
558  std::move(m_sorterInput), m_calc_token);
559  return {std::move(ret)};
560  }

References tp_assert.

◆ output()

template<typename T , typename pred_t , typename store_t >
output_pipe_t tpie::pipelining::passive_sorter< T, pred_t, store_t >::output ( )
inline

Get the output pull node.

Definition at line 565 of file sort.h.

565  {
566  tp_assert(m_sorterOutput, "output() called more than once");
567  auto ret = bits::passive_sorter_factory_output<item_type, pred_t, store_t>(
568  std::move(m_sorterOutput), m_calc_token);
569  return {std::move(ret)};
570  }

References tp_assert.


The documentation for this class was generated from the following file:
tp_assert
#define tp_assert(condition, message)
Definition: tpie_assert.h:65