library of assembled shared sources

http://lass.cocamware.com

lass::io::BinaryIMemoryMap Class Reference

Input Stream for files using memory mapping. More...

#include <binary_i_memory_map.h>

Inheritance diagram for lass::io::BinaryIMemoryMap:

Inheritance graph
[legend]
Collaboration diagram for lass::io::BinaryIMemoryMap:

Collaboration graph
[legend]

Public Member Functions

 BinaryIMemoryMap ()
 BinaryIMemoryMap (const char *filename)
 BinaryIMemoryMap (const std::string &filename)
 ~BinaryIMemoryMap ()
void open (const char *filename)
void open (const std::string &filename)
void close ()
bool is_open () const
long tellg () const
BinaryIStreamseekg (long iPosition)
BinaryIStreamseekg (long iOffset, std::ios_base::seekdir iDirection)
BinaryIStreamoperator>> (char &x)
BinaryIStreamoperator>> (num::Tint8 &x)
BinaryIStreamoperator>> (num::Tuint8 &x)
BinaryIStreamoperator>> (num::Tint16 &x)
BinaryIStreamoperator>> (num::Tuint16 &x)
BinaryIStreamoperator>> (num::Tint32 &x)
BinaryIStreamoperator>> (num::Tuint32 &x)
BinaryIStreamoperator>> (num::Tint64 &x)
BinaryIStreamoperator>> (num::Tuint64 &x)
BinaryIStreamoperator>> (num::Tfloat32 &x)
BinaryIStreamoperator>> (num::Tfloat64 &x)
BinaryIStreamoperator>> (bool &x)
BinaryIStreamoperator>> (void *&x)
BinaryIStreamoperator>> (std::string &oOut)
template<typename T >
BinaryIStreamoperator>> (std::vector< T > &oOut)
template<typename T >
BinaryIStreamoperator>> (std::complex< T > &oOut)
void read (void *oOutput, size_t iNumberOfBytes)
 read a number of bytes from stream to buffer
num::Endianness endianness () const
void setEndianness (num::Endianness iEndianness)
const bool good () const
const bool eof () const
const bool fail () const
const bool bad () const
std::ios_base::iostate rdstate () const
void clear (std::ios_base::iostate iState=std::ios_base::goodbit)
void setstate (std::ios_base::iostate iState)
 operator num::SafeBool () const
const bool operator! () const

Protected Member Functions

void swap (NonCopyable &)

Private Member Functions

long doTellg () const
void doSeekg (long offset, std::ios_base::seekdir direction)
void doRead (void *output, size_t numberOfBytes)

Private Attributes

impl::BinaryIMemoryMapImplpimpl_
char * data_
long begin_
long end_
long size_
long position_

Detailed Description

Input Stream for files using memory mapping.

Definition at line 62 of file binary_i_memory_map.h.


Constructor & Destructor Documentation

lass::io::BinaryIMemoryMap::BinaryIMemoryMap (  ) 

Definition at line 199 of file binary_i_memory_map.cpp.

lass::io::BinaryIMemoryMap::BinaryIMemoryMap ( const char *  filename  ) 

Definition at line 205 of file binary_i_memory_map.cpp.

References open().

lass::io::BinaryIMemoryMap::BinaryIMemoryMap ( const std::string &  filename  ) 

Definition at line 212 of file binary_i_memory_map.cpp.

References open().

lass::io::BinaryIMemoryMap::~BinaryIMemoryMap (  ) 

Definition at line 221 of file binary_i_memory_map.cpp.

References close().


Member Function Documentation

void lass::io::BinaryIMemoryMap::open ( const char *  filename  ) 

void lass::io::BinaryIMemoryMap::open ( const std::string &  filename  ) 

Definition at line 258 of file binary_i_memory_map.cpp.

References open().

void lass::io::BinaryIMemoryMap::close (  ) 

Definition at line 265 of file binary_i_memory_map.cpp.

References pimpl_.

Referenced by open(), and ~BinaryIMemoryMap().

bool lass::io::BinaryIMemoryMap::is_open (  )  const

Definition at line 273 of file binary_i_memory_map.cpp.

References pimpl_.

long lass::io::BinaryIMemoryMap::doTellg (  )  const [private, virtual]

Implements lass::io::BinaryIStream.

Definition at line 282 of file binary_i_memory_map.cpp.

References position_.

void lass::io::BinaryIMemoryMap::doSeekg ( long  offset,
std::ios_base::seekdir  direction 
) [private, virtual]

void lass::io::BinaryIMemoryMap::doRead ( void *  output,
size_t  numberOfBytes 
) [private, virtual]

long lass::io::BinaryIStream::tellg (  )  const [inherited]

Definition at line 73 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::doTellg().

BinaryIStream & lass::io::BinaryIStream::seekg ( long  iPosition  )  [inherited]

BinaryIStream & lass::io::BinaryIStream::seekg ( long  iOffset,
std::ios_base::seekdir  iDirection 
) [inherited]

Definition at line 88 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::doSeekg().

BinaryIStream & lass::io::BinaryIStream::operator>> ( char &  x  )  [inherited]

Definition at line 96 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tint8 x  )  [inherited]

Definition at line 103 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tuint8 x  )  [inherited]

Definition at line 110 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tint16 x  )  [inherited]

Definition at line 117 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tuint16 x  )  [inherited]

Definition at line 124 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tint32 x  )  [inherited]

Definition at line 131 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tuint32 x  )  [inherited]

Definition at line 138 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tint64 x  )  [inherited]

Definition at line 145 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tuint64 x  )  [inherited]

Definition at line 152 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tfloat32 x  )  [inherited]

Definition at line 159 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( num::Tfloat64 x  )  [inherited]

Definition at line 166 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::readValue().

BinaryIStream & lass::io::BinaryIStream::operator>> ( bool &  x  )  [inherited]

Definition at line 173 of file binary_i_stream.cpp.

References lass::io::StreamBase::good().

BinaryIStream & lass::io::BinaryIStream::operator>> ( void *&  x  )  [inherited]

Definition at line 186 of file binary_i_stream.cpp.

References lass::io::StreamBase::good(), and LASS_META_ASSERT.

BinaryIStream & lass::io::BinaryIStream::operator>> ( std::string &  oOut  )  [inherited]

template<typename T >
BinaryIStream & lass::io::BinaryIStream::operator>> ( std::vector< T > &  oOut  )  [inline, inherited]

Definition at line 60 of file binary_i_stream.inl.

References lass::io::StreamBase::good(), LASS_ASSERT, and lass::stde::T.

template<typename T >
BinaryIStream & lass::io::BinaryIStream::operator>> ( std::complex< T > &  oOut  )  [inline, inherited]

Definition at line 95 of file binary_i_stream.inl.

References lass::io::StreamBase::good(), and lass::stde::T.

void lass::io::BinaryIStream::read ( void *  output,
size_t  numBytes 
) [inherited]

read a number of bytes from stream to buffer

Parameters:
iBytes pointer to buffer. Must be able to contain at least numBytes bytes.
numBytes number of bytes to be read

Definition at line 229 of file binary_i_stream.cpp.

References lass::io::BinaryIStream::doRead().

Referenced by lass::io::BinaryISocket::doRead(), lass::io::Image::openRadianceHdr(), lass::io::Image::openTargaTrueColor(), lass::io::Image::HeaderPfm::readFrom(), and lass::io::Image::HeaderRadianceHdr::readFrom().

num::Endianness lass::io::BinaryStreamBase::endianness (  )  const [inline, inherited]

void lass::io::BinaryStreamBase::setEndianness ( num::Endianness  iEndianness  )  [inline, inherited]

const bool lass::io::StreamBase::good (  )  const [inline, inherited]

const bool lass::io::StreamBase::eof (  )  const [inline, inherited]

Definition at line 77 of file stream_base.h.

Referenced by lass::io::Image::open(), and lass::io::Image::save().

const bool lass::io::StreamBase::fail (  )  const [inline, inherited]

Definition at line 78 of file stream_base.h.

Referenced by lass::io::StreamBase::operator num::SafeBool().

const bool lass::io::StreamBase::bad (  )  const [inline, inherited]

Definition at line 79 of file stream_base.h.

std::ios_base::iostate lass::io::StreamBase::rdstate (  )  const [inline, inherited]

Definition at line 80 of file stream_base.h.

Referenced by lass::io::XmlOElement::XmlOElement().

void lass::io::StreamBase::clear ( std::ios_base::iostate  iState = std::ios_base::goodbit  )  [inline, inherited]

void lass::io::StreamBase::setstate ( std::ios_base::iostate  iState  )  [inline, inherited]

lass::io::StreamBase::operator num::SafeBool (  )  const [inline, inherited]

const bool lass::io::StreamBase::operator! (  )  const [inline, inherited]

Definition at line 84 of file stream_base.h.

void lass::util::NonCopyable::swap ( NonCopyable  )  [inline, protected, inherited]

Definition at line 60 of file non_copyable.h.

Referenced by lass::io::Image::readLine().


Field Documentation

Definition at line 82 of file binary_i_memory_map.h.

Referenced by close(), doRead(), doSeekg(), is_open(), and open().

Definition at line 83 of file binary_i_memory_map.h.

Referenced by doRead(), doSeekg(), and open().

Definition at line 84 of file binary_i_memory_map.h.

Referenced by doRead(), doSeekg(), and open().

Definition at line 85 of file binary_i_memory_map.h.

Referenced by doRead(), doSeekg(), and open().

Definition at line 86 of file binary_i_memory_map.h.

Referenced by doRead(), doSeekg(), and open().

Definition at line 87 of file binary_i_memory_map.h.

Referenced by doRead(), doSeekg(), doTellg(), and open().


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

Generated on Mon Nov 10 14:22:09 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo