YAP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Private Attributes | Friends | List of all members
DataPartition Class Referenceabstract

Class defining a partition of the DataSet. More...

#include <DataPartition.h>

Inheritance diagram for DataPartition:
StatusManager DataPartitionWeave DataPartitionBlock DataSet

Public Member Functions

virtual ~DataPartition ()=default
 virtual destructor (defaulted)
 
 DataPartition (const DataPartition &)=default
 copy constructor (defaulted)
 
 DataPartition (DataPartition &&)=default
 move constructor (defaulted)
 
DataPartitionoperator= (const DataPartition &)=default
 copy assignment operator (defaulted)
 
DataPartitionoperator= (DataPartition &&)=default
 move assignment operator (defaulted)
 
virtual const DataIteratorbegin () const
 
virtual const DataIteratorend () const
 
virtual const size_t size () const
 
virtual const
DataIterator::difference_type 
difference (const DataPointVector::iterator &lhs, const DataPointVector::iterator &rhs) const =0
 
- Public Member Functions inherited from StatusManager
 StatusManager (const DataAccessorSet &sDA)
 
template<class T >
void set (const CachedValue &cdv, const T &stat)
 
template<class T >
void set (const DataAccessor &da, const T &stat)
 
template<class T >
void setAll (const T &stat)
 
void copyCalculationStatuses (const StatusManager &sm)
 
CachedValue::Statusstatus (size_t da_index, size_t cdv_index, size_t sym_index)
 
const CachedValue::Statusstatus (size_t da_index, size_t cdv_index, size_t sym_index) const
 
CachedValue::Statusstatus (const CachedValue &cdv, size_t sym_index)
 
const CachedValue::Statusstatus (const CachedValue &cdv, size_t sym_index) const
 

Public Attributes

friend DataIterator
 grant friend status to DataIterator to call increment
 

Protected Member Functions

 DataPartition (const StatusManager &sm, DataPointVector::iterator begin, DataPointVector::iterator end)
 
 DataPartition (const DataAccessorSet &sDA)
 
virtual DataIteratorincrement (DataIterator &it, DataIterator::difference_type n) const =0
 
DataPointVector::iterator & rawIterator (DataIterator &it) const
 
const DataPointVector::iterator & rawIterator (const DataIterator &it) const
 
DataIterator dataIterator (DataPointVector::iterator it, const DataPartition *part) const
 
const DataIteratorsetBegin (DataPointVector::iterator it)
 set begin
 
const DataIteratorsetEnd (DataPointVector::iterator it)
 set end
 

Static Protected Member Functions

static DataPointVector::iterator begin (DataSet &ds)
 get non-const begin from DataSet
 
static DataPointVector::iterator end (DataSet &ds)
 get non-const end from DataSet
 

Private Attributes

DataIterator Begin_
 begin DataIterator
 
DataIterator End_
 end DataIterator
 

Friends

class Model
 grant friend status to Model to call ...
 

Detailed Description

Class defining a partition of the DataSet.

Author
Johannes Rauch, Daniel Greenwald

Constructor & Destructor Documentation

DataPartition ( const StatusManager sm,
DataPointVector::iterator  begin,
DataPointVector::iterator  end 
)
inlineprotected

Constructor

Parameters
smStatusManager to copy StatusManager structure from
beginvector<DataPoint>::iterator of start
endvector<DataPoint>::iterator of end
DataPartition ( const DataAccessorSet &  sDA)
inlineprotected

constructor taking a DataAccessorSet

Parameters
sDADataAccessorSet to initialize StatusManager from

Member Function Documentation

virtual const DataIterator& begin ( ) const
inlinevirtual
Returns
begin iterator

Reimplemented in DataSet.

DataIterator dataIterator ( DataPointVector::iterator  it,
const DataPartition part 
) const
inlineprotected
Returns
DataIterator for vector<DataPoint> iterator
Parameters
raw_itvector<DataPoint>::iterator to use
const DataIterator::difference_type difference ( const DataPointVector::iterator &  lhs,
const DataPointVector::iterator &  rhs 
) const
pure virtual

difference between two DataPointVector::iterators to be used in operator-(const DataIterator&, const DataIterator&)

Parameters
lhsleft operand
rhsright operand
Attention
Must be overloaded in derived classes

Implemented in DataPartitionWeave.

virtual const DataIterator& end ( ) const
inlinevirtual
Returns
end iterator

Reimplemented in DataSet.

virtual DataIterator& increment ( DataIterator it,
DataIterator::difference_type  n 
) const
protectedpure virtual

increment iterator;

Attention
Must be overloaded in derived classes

Implemented in DataPartitionWeave.

DataPointVector::iterator& rawIterator ( DataIterator it) const
inlineprotected
Returns
vector<DataPoint> iterator inside DataIterator
Parameters
itDataIterator to access
const DataPointVector::iterator& rawIterator ( const DataIterator it) const
inlineprotected
Returns
vector<DataPoint> iterator inside DataIterator
Parameters
itDataIterator to access
virtual const size_t size ( ) const
inlinevirtual
Returns
size

Reimplemented in DataSet.


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