Fennel: ByteStream Class Reference (original) (raw)

ByteStream is a common base class for ByteInputStream and ByteOutputStream. More...

#include <[ByteStream.h](ByteStream%5F8h-source.html)>

Inheritance diagram for ByteStream:

List of all members.

Public Member Functions
FileSize getOffset () const
**Returns:**current offset from beginning of stream
bool isClosed () const
**Returns:**whether the object has been closed
void close ()
Closes this object, releasing any unallocated resources.
Protected Member Functions
ByteStream ()
virtual void closeImpl ()=0
Must be implemented by derived class to release any resources.
Protected Attributes
FileSize cbOffset
Byte position in stream.
bool needsClose

Detailed Description

ByteStream is a common base class for ByteInputStream and ByteOutputStream.

Definition at line 34 of file ByteStream.h.


Constructor & Destructor Documentation

| ByteStream::ByteStream | ( | | ) | [explicit, protected] | | ---------------------- | - | | - | ----------------------- |


Member Function Documentation

| FileSize ByteStream::getOffset | ( | | ) | const [inline] | | ---------------------------------------------------------------------------------- | - | | - | ---------------- |

| virtual void ClosableObject::closeImpl | ( | | ) | [protected, pure virtual, inherited] | | -------------------------------------- | - | | - | -------------------------------------- |

Must be implemented by derived class to release any resources.

Implemented in CacheImpl< PageT, VictimPolicyT >, ByteArrayInputStream, ByteArrayOutputStream, ByteOutputStream, CheckpointThread, Database, BarrierExecStream, DoubleBufferExecStream, ExecStream, ExecStreamGraphImpl, MockResourceExecStream, ReshapeExecStream, ScratchBufferExecStream, SegBufferExecStream, SegBufferReader, SegBufferReaderExecStream, SegBufferWriter, SegBufferWriterExecStream, JavaSinkExecStream, JavaTransformExecStream, FlatFileBuffer, FlatFileExecStreamImpl, BTreeExecStream, BTreeInsertExecStream, BTreePrefetchSearchExecStream, BTreeReadExecStream, BTreeSearchExecStream, FtrsTableWriterExecStream, LhxAggExecStream, LhxJoinExecStream, LbmBitOpExecStream, LbmChopperExecStream, LbmGeneratorExecStream, LbmIntersectExecStream, LbmMinusExecStream, LbmSplicerExecStream, LbmUnionExecStream, LcsClusterAppendExecStream, LcsRowScanBaseExecStream, LcsRowScanExecStream, DelegatingSegment, DynamicDelegatingSegment, ScratchSegment, SegInputStream, Segment, SegOutputStream, SegPageBackupRestoreDevice, SegStream, SegStreamAllocation, SpillOutputStream, and ExternalSortExecStreamImpl.

Referenced by ClosableObject::close().

| bool ClosableObject::isClosed | ( | | ) | const [inline, inherited] | | ----------------------------- | - | | - | --------------------------- |

Returns:

whether the object has been closed

Definition at line 58 of file ClosableObject.h.

| void ClosableObject::close | ( | | ) | [inherited] | | -------------------------- | - | | - | ------------- |

Closes this object, releasing any unallocated resources.

Reimplemented in CollectExecStream, CorrelationJoinExecStream, LcsClusterAppendExecStream, and LcsClusterReplaceExecStream.

Definition at line 39 of file ClosableObject.cpp.

References ClosableObject::closeImpl(), and ClosableObject::needsClose.

Referenced by CacheImpl< PageT, VictimPolicyT >::allocatePages(), LcsRowScanBaseExecStream::closeImpl(), ExecStreamGraphImpl::closeImpl(), FlatFileBuffer::open(), ClosableObjectDestructor::operator()(), and Segment::~Segment().


Member Data Documentation

Byte position in stream.

Definition at line 41 of file ByteStream.h.

Referenced by ByteStream(), ByteInputStream::consumeReadPointer(), ByteOutputStream::consumeWritePointer(), getOffset(), SegOutputStream::getSegPos(), SegInputStream::getSegPos(), ByteInputStream::readBytes(), ByteInputStream::reset(), ByteArrayInputStream::resetArray(), ByteInputStream::seekBackward(), SegInputStream::seekSegPos(), and ByteOutputStream::writeBytes().


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


Generated on Mon Jun 22 04:00:27 2009 for Fennel by doxygen 1.5.1