Sirikata
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Sirikata::Transfer::DenseDataList Class Reference

#include <TransferData.hpp>

Inheritance diagram for Sirikata::Transfer::DenseDataList:
Collaboration diagram for Sirikata::Transfer::DenseDataList:

List of all members.

Classes

class  const_iterator
 Simple stub iterator class for use by Range::isContainedBy() More...
class  iterator
 Simple stub iterator class for use by Range::isContainedBy() More...

Public Types

typedef DenseDataPtr value_type
 Acts like a STL container.

Public Member Functions

iterator begin ()
 Simple iteration functions, to keep compatibility with RangeList.
iterator end ()
 Simple iteration functions, to keep compatibility with RangeList.
const_iterator begin () const
 Simple iteration functions, to keep compatibility with RangeList.
const_iterator end () const
 Simple iteration functions, to keep compatibility with RangeList.
iterator insert (const iterator &iter, const value_type &dd)
 insert into the internal std::list.
void erase (const iterator &iter)
 delete from the internal std::list.
void clear ()
 Clear all data.
bool empty () const
 Is there any data.
void addValidData (const DenseDataPtr &data)
 adds a range of valid data to the SparseData set.
cache_usize_type getSpaceUsed () const
 gets the space used by the sparse file.
const unsigned char * dataAt (Range::base_type offset, Range::length_type &length) const
 gets a pointer to data starting at offset
cache_usize_type startbyte () const
cache_usize_type endbyte () const
bool contiguous () const
bool contains (const Range &other) const

Protected Types

typedef std::list< DenseDataPtrListType

Protected Member Functions

 DenseDataList ()

Protected Attributes

ListType mSparseData
 sorted vector of Range/vector pairs

Member Typedef Documentation

Acts like a STL container.

Reimplemented in Sirikata::Transfer::SparseData.


Constructor & Destructor Documentation

Sirikata::Transfer::DenseDataList::DenseDataList ( ) [inline, protected]

Member Function Documentation

void Sirikata::Transfer::DenseDataList::addValidData ( const DenseDataPtr data) [inline]
iterator Sirikata::Transfer::DenseDataList::begin ( ) [inline]

Simple iteration functions, to keep compatibility with RangeList.

References mSparseData.

Referenced by Sirikata::Transfer::SparseData::begin(), dataAt(), and getSpaceUsed().

const_iterator Sirikata::Transfer::DenseDataList::begin ( ) const [inline]

Simple iteration functions, to keep compatibility with RangeList.

Reimplemented in Sirikata::Transfer::SparseData.

References mSparseData.

void Sirikata::Transfer::DenseDataList::clear ( ) [inline]

Clear all data.

References mSparseData.

bool Sirikata::Transfer::DenseDataList::contains ( const Range other) const [inline]
bool Sirikata::Transfer::DenseDataList::contiguous ( ) const [inline]
const unsigned char* Sirikata::Transfer::DenseDataList::dataAt ( Range::base_type  offset,
Range::length_type length 
) const [inline]

gets a pointer to data starting at offset

Parameters:
offsetspecifies where in the sparse file the data should be gotten from
lengthreturns for how much the data is valid
Returns:
data at that point unless offset is not yet valid in which case dataAt returns NULL with length being the range of INVALID data, or 0 if there is not valid data past that point

References begin(), end(), Sirikata::Transfer::Range::endbyte(), Sirikata::Transfer::Range::goesToEndOfFile(), Sirikata::Transfer::Range::length(), and Sirikata::Transfer::Range::startbyte().

Referenced by Sirikata::Transfer::SparseData::computeFingerprint(), and Sirikata::Transfer::SparseData::debugPrint().

bool Sirikata::Transfer::DenseDataList::empty ( ) const [inline]

Is there any data.

References mSparseData.

iterator Sirikata::Transfer::DenseDataList::end ( ) [inline]

Simple iteration functions, to keep compatibility with RangeList.

References mSparseData.

Referenced by dataAt(), Sirikata::Transfer::SparseData::end(), and getSpaceUsed().

const_iterator Sirikata::Transfer::DenseDataList::end ( ) const [inline]

Simple iteration functions, to keep compatibility with RangeList.

Reimplemented in Sirikata::Transfer::SparseData.

References mSparseData.

cache_usize_type Sirikata::Transfer::DenseDataList::endbyte ( ) const [inline]
void Sirikata::Transfer::DenseDataList::erase ( const iterator iter) [inline]

delete from the internal std::list.

References mSparseData.

cache_usize_type Sirikata::Transfer::DenseDataList::getSpaceUsed ( ) const [inline]

gets the space used by the sparse file.

References begin(), and end().

Referenced by Sirikata::Transfer::MemoryCacheLayer::populateCache().

iterator Sirikata::Transfer::DenseDataList::insert ( const iterator iter,
const value_type dd 
) [inline]

insert into the internal std::list.

References mSparseData.

cache_usize_type Sirikata::Transfer::DenseDataList::startbyte ( ) const [inline]

Member Data Documentation


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