ddc
Public Types | Public Member Functions | Public Attributes | List of all members
ddcVecFile< T > Class Template Reference

#include <ddcMMap.h>

Inheritance diagram for ddcVecFile< T >:
Inheritance graph
[legend]
Collaboration diagram for ddcVecFile< T >:
Collaboration graph
[legend]

Public Types

typedef ddcMMap< T > MMapT
 
typedef vector< T > VecT
 
typedef T EltT
 
typedef T * iterator
 
typedef const T * const_iterator
 

Public Member Functions

 ddcVecFile ()
 default constructor More...
 
 ddcVecFile (const std::string &filename, bool useMMap=false)
 construct and open More...
 
 ~ddcVecFile ()
 default destructor calls close() More...
 
void clear ()
 clear() method wraps close() More...
 
const string & filename () const
 returns filename of last open(), or NULL 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 in this vector, or 0 More...
 
bool empty () const
 STL-esque wrapper. 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...
 
void push_back (const T &value)
 simulate vector::push_back(): used by indexing routines More...
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
ddcVecFileopen (const std::string &filename, bool useMMap=false)
 map a named file filename More...
 
void close ()
 unmap current file (if any) More...
 
void ensureVec ()
 force vector-implementation More...
 
void ensureData ()
 ensure data is a valid pointer More...
 
void save (FILE *fp) const
 dump data to a FILE* More...
 
void save (const string &FileName) const
 dump to a named file More...
 
void save (FILE *fp, const string &name) const
 dump data to a FILE* with a symbolic name More...
 

Public Attributes

string m_file
 filename (if any) More...
 
ddcMMap< T > m_mmap
 data (mmap) More...
 
vector< T > m_vec
 data (slurp) More...
 
T * m_data
 data (pointer to m_mmap or m_vec data) More...
 

Detailed Description

template<typename T>
class ddcVecFile< T >

slurp or mmap an array of <T> to memory. uses either ReadVector(...,vector<T>) ("slurp") or ddcMMap<T> ("mmap")

Member Typedef Documentation

◆ MMapT

template<typename T>
typedef ddcMMap<T> ddcVecFile< T >::MMapT

◆ VecT

template<typename T>
typedef vector<T> ddcVecFile< T >::VecT

◆ EltT

template<typename T>
typedef T ddcVecFile< T >::EltT

◆ iterator

template<typename T>
typedef T* ddcVecFile< T >::iterator

◆ const_iterator

template<typename T>
typedef const T* ddcVecFile< T >::const_iterator

Constructor & Destructor Documentation

◆ ddcVecFile() [1/2]

template<typename T>
ddcVecFile< T >::ddcVecFile ( )
inline

default constructor

◆ ddcVecFile() [2/2]

template<typename T>
ddcVecFile< T >::ddcVecFile ( const std::string &  filename,
bool  useMMap = false 
)
inline

construct and open

◆ ~ddcVecFile()

template<typename T>
ddcVecFile< T >::~ddcVecFile ( )
inline

default destructor calls close()

Member Function Documentation

◆ clear()

template<typename T>
void ddcVecFile< T >::clear ( )
inline

◆ filename()

template<typename T>
const string& ddcVecFile< T >::filename ( ) const
inline

returns filename of last open(), or NULL

Referenced by ddcMapFile< DWORD, DWORD >::ensureMap(), ddcStringEnum< OffT_ >::ensureVec(), and ddcCorpusList< OffT_ >::ensureVec().

Here is the caller graph for this function:

◆ data()

template<typename T>
T* ddcVecFile< T >::data ( ) const
inline

returns a pointer to the mmap()ed file data, or NULL

◆ size()

template<typename T>
size_t ddcVecFile< T >::size ( ) const
inline

◆ empty()

template<typename T>
bool ddcVecFile< T >::empty ( void  ) const
inline

◆ opened()

template<typename T>
bool ddcVecFile< T >::opened ( ) const
inline

returns true iff m_data is non-NULL

Referenced by ddcStringEnum< OffT_ >::opened(), ddcCorpusList< OffT_ >::opened(), and ddcMapFile< DWORD, DWORD >::opened().

Here is the caller graph for this function:

◆ operator bool()

template<typename T>
ddcVecFile< T >::operator bool ( ) const
inline

implicit typecast to bool

◆ operator T*()

template<typename T>
ddcVecFile< T >::operator T* ( ) const
inline

implicit typecast to T*

References ddcMMap< T >::m_data.

◆ operator[]()

template<typename T>
T& ddcVecFile< T >::operator[] ( size_t  idx) const
inline

indexing operator

◆ push_back()

template<typename T>
void ddcVecFile< T >::push_back ( const T &  value)
inline

simulate vector::push_back(): used by indexing routines

Referenced by CIndexSetForLoadingStage::AddItemStrToBuffer(), CIndexSetForQueryingStage::AddOneIndexItem(), CFreeBiblIndex::RegisterBiblStringItemId(), and CFreeBiblStringIndex::RegisterBiblStringItemId().

Here is the caller graph for this function:

◆ begin() [1/2]

template<typename T>
iterator ddcVecFile< T >::begin ( )
inline

◆ end() [1/2]

template<typename T>
iterator ddcVecFile< T >::end ( )
inline

◆ begin() [2/2]

template<typename T>
const_iterator ddcVecFile< T >::begin ( ) const
inline

◆ end() [2/2]

template<typename T>
const_iterator ddcVecFile< T >::end ( ) const
inline

◆ open()

template<typename T>
ddcVecFile& ddcVecFile< T >::open ( const std::string &  filename,
bool  useMMap = false 
)
inline

◆ close()

template<typename T>
void ddcVecFile< T >::close ( void  )
inline

◆ ensureVec()

template<typename T>
void ddcVecFile< T >::ensureVec ( )
inline

◆ ensureData()

template<typename T>
void ddcVecFile< T >::ensureData ( )
inline

◆ save() [1/3]

template<typename T>
void ddcVecFile< T >::save ( FILE *  fp) const
inline

◆ save() [2/3]

template<typename T>
void ddcVecFile< T >::save ( const string &  FileName) const
inline

dump to a named file

◆ save() [3/3]

template<typename T>
void ddcVecFile< T >::save ( FILE *  fp,
const string &  name 
) const
inline

dump data to a FILE* with a symbolic name

Member Data Documentation

◆ m_file

template<typename T>
string ddcVecFile< T >::m_file

filename (if any)

◆ m_mmap

template<typename T>
ddcMMap<T> ddcVecFile< T >::m_mmap

data (mmap)

◆ m_vec

template<typename T>
vector<T> ddcVecFile< T >::m_vec

◆ m_data

template<typename T>
T* ddcVecFile< T >::m_data

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