Tools::ExternalSort Class Reference

#include <ExternalSort.h>

List of all members.


Detailed Description

Definition at line 27 of file ExternalSort.h.

Public Member Functions

 ExternalSort (Tools::IObjectStream &source, unsigned long bufferSize)
 ExternalSort (Tools::IObjectStream &source, Tools::IObjectComparator &comp, unsigned long bufferSize)
virtual ~ExternalSort ()
virtual IObject * getNext ()
virtual bool hasNext () throw ()
virtual unsigned long size () throw ()
virtual void rewind ()

Private Member Functions

void initializeRuns (std::deque< SmartPointer< TemporaryFile > > &runs)
void mergeRuns ()

Private Attributes

std::priority_queue< PQEntry *,
std::vector< PQEntry * >,
PQEntry::ascendingComparator
m_buffer
unsigned long m_cMaxBufferSize
bool m_bFitsInBuffer
unsigned long m_cNumberOfSortedRecords
unsigned long m_cNumberOfReturnedRecords
IObjectStream * m_pExternalSource
IObject * m_pTemplateRecord
IObjectComparator * m_pComparator
SmartPointer< TemporaryFilem_spSortedFile

Classes

class  PQEntry


Constructor & Destructor Documentation

Tools::ExternalSort::ExternalSort ( Tools::IObjectStream &  source,
unsigned long  bufferSize 
)

Tools::ExternalSort::ExternalSort ( Tools::IObjectStream &  source,
Tools::IObjectComparator &  comp,
unsigned long  bufferSize 
)

virtual Tools::ExternalSort::~ExternalSort (  )  [virtual]


Member Function Documentation

virtual IObject* Tools::ExternalSort::getNext (  )  [virtual]

virtual bool Tools::ExternalSort::hasNext (  )  throw () [virtual]

virtual unsigned long Tools::ExternalSort::size (  )  throw () [virtual]

virtual void Tools::ExternalSort::rewind (  )  [virtual]

void Tools::ExternalSort::initializeRuns ( std::deque< SmartPointer< TemporaryFile > > &  runs  )  [private]

void Tools::ExternalSort::mergeRuns (  )  [private]


Member Data Documentation

std::priority_queue< PQEntry*, std::vector<PQEntry*>, PQEntry::ascendingComparator > Tools::ExternalSort::m_buffer [private]

Definition at line 79 of file ExternalSort.h.

unsigned long Tools::ExternalSort::m_cMaxBufferSize [private]

Definition at line 81 of file ExternalSort.h.

bool Tools::ExternalSort::m_bFitsInBuffer [private]

Definition at line 82 of file ExternalSort.h.

unsigned long Tools::ExternalSort::m_cNumberOfSortedRecords [private]

Definition at line 83 of file ExternalSort.h.

unsigned long Tools::ExternalSort::m_cNumberOfReturnedRecords [private]

Definition at line 84 of file ExternalSort.h.

IObjectStream* Tools::ExternalSort::m_pExternalSource [private]

Definition at line 86 of file ExternalSort.h.

IObject* Tools::ExternalSort::m_pTemplateRecord [private]

Definition at line 87 of file ExternalSort.h.

IObjectComparator* Tools::ExternalSort::m_pComparator [private]

Definition at line 88 of file ExternalSort.h.

SmartPointer<TemporaryFile> Tools::ExternalSort::m_spSortedFile [private]

Definition at line 89 of file ExternalSort.h.


The documentation for this class was generated from the following file:
Generated on Tue Oct 28 16:52:09 2008 for Quantum GIS API Documentation by  doxygen 1.5.1