ddc
|
#include <ddcMMap.h>
Public Types | |
typedef T * | iterator |
typedef const T * | const_iterator |
Public Member Functions | |
ddcMMap () | |
default constructor More... | |
ddcMMap (const std::string &filename, int mode=O_RDONLY) | |
~ddcMMap () | |
default destructor calls close() More... | |
const std::string & | filename () const |
returns the name of the currently mapped file, if any More... | |
size_t | nbytes () const |
returns number of bytes mapped, or 0 More... | |
T * | data () const |
returns a pointer to the mmap()ed file data, or NULL More... | |
size_t | size () const |
returns the number of objects of type T mapped, or 0 More... | |
bool | empty () const |
STL-esque wrapper for (nbytes()==0) More... | |
bool | opened () const |
returns true iff m_data is non-NULL More... | |
operator bool () const | |
implicit typecast to bool More... | |
operator T* () const | |
implicit typecast to T* More... | |
T & | operator[] (size_t idx) const |
indexing operator More... | |
ddcMMap & | open (const std::string &filename, int mode=O_RDONLY) |
map a named file filename More... | |
void | close () |
unmap current file (if any) More... | |
iterator | begin () const |
iterator | end () const |
Public Attributes | |
std::string | m_file |
underlying filename More... | |
size_t | m_nbytes |
number of bytes mapped More... | |
T * | m_data |
file data More... | |
convenience wrapper for mapping entire files into virtual memory using mmap()
typedef const T* ddcMMap< T >::const_iterator |
|
inline |
|
inline |
returns the name of the currently mapped file, if any
Referenced by ddcVecFile< CIndexItem >::ensureVec(), ddcMMap< CIndexItem >::open(), ddcVecFile< CIndexItem >::open(), and ddcFileOrMMap::operator bool().
|
inline |
returns number of bytes mapped, or 0
Referenced by ddcFileOrMMap::operator bool().
|
inline |
returns a pointer to the mmap()ed file data, or NULL
|
inline |
returns the number of objects of type T mapped, or 0
Referenced by ddcRecFile::empty(), ddcMapFile< DWORD, DWORD >::empty(), ddcMMap< CIndexItem >::end(), ddcVecFile< CIndexItem >::end(), ddcVecFile< CIndexItem >::ensureVec(), ddcVecFile< CIndexItem >::save(), and ddcVecFile< CIndexItem >::size().
|
inline |
STL-esque wrapper for (nbytes()==0)
Referenced by ddcVecFile< CIndexItem >::empty().
|
inline |
returns true iff m_data is non-NULL
Referenced by ddcMMap< CIndexItem >::open(), ddcVecFile< CIndexItem >::open(), ddcMapFile< DWORD, DWORD >::open(), ddcFileOrMMap::opened(), ddcMMap< CIndexItem >::operator bool(), ddcVecFile< CIndexItem >::operator bool(), ddcRecFile::operator bool(), ddcMapFile< DWORD, DWORD >::operator bool(), and ddcFileOrMMap::operator bool().
|
inline |
implicit typecast to bool
|
inline |
implicit typecast to T*
References ddcMMap< T >::m_data.
|
inline |
indexing operator
|
inline |
map a named file filename
Referenced by ddcMapFile< DWORD, DWORD >::ddcMapFile(), ddcMMap< CIndexItem >::ddcMMap(), ddcRecFile::ddcRecFile(), ddcVecFile< CIndexItem >::ddcVecFile(), ddcMMap< CIndexItem >::open(), ddcVecFile< CIndexItem >::open(), and ddcFileOrMMap::Open().
|
inline |
unmap current file (if any)
Referenced by ddcVecFile< CIndexItem >::clear(), ddcMapFile< DWORD, DWORD >::clear(), ddcVecFile< CIndexItem >::close(), ddcFileOrMMap::Close(), ddcVecFile< CIndexItem >::ensureVec(), ddcMMap< CIndexItem >::open(), ddcVecFile< CIndexItem >::open(), ddcMapFile< DWORD, DWORD >::open(), ddcMapFile< DWORD, DWORD >::~ddcMapFile(), ddcMMap< CIndexItem >::~ddcMMap(), ddcRecFile::~ddcRecFile(), and ddcVecFile< CIndexItem >::~ddcVecFile().
Referenced by ddcMapFile< DWORD, DWORD >::ensureMap(), and ddcMapFile< DWORD, DWORD >::find().
Referenced by ddcMapFile< DWORD, DWORD >::ensureMap(), and ddcMapFile< DWORD, DWORD >::find().
std::string ddcMMap< T >::m_file |
underlying filename
Referenced by ddcMMap< CIndexItem >::filename(), and ddcVecFile< CIndexItem >::filename().
size_t ddcMMap< T >::m_nbytes |
number of bytes mapped
Referenced by ddcMMap< CIndexItem >::nbytes().
T* ddcMMap< T >::m_data |
file data
Referenced by ddcMMap< CIndexItem >::begin(), ddcVecFile< CIndexItem >::begin(), ddcMMap< CIndexItem >::data(), ddcVecFile< CIndexItem >::data(), ddcVecFile< CIndexItem >::ensureData(), ddcVecFile< CIndexItem >::ensureVec(), ddcVecFile< CIndexItem >::open(), ddcMMap< T >::operator T*(), ddcVecFile< T >::operator T*(), ddcRecFile::operator[](), ddcFileOrMMap::ReadBuffer(), and ddcVecFile< CIndexItem >::save().