Flex  0.17.9
Public Member Functions | Private Attributes | List of all members
gs::mmap_array< T > Class Template Reference

#include <mmap_array.h>

Public Member Functions

 mmap_array ()
 
 mmap_array (const mmap_array< T > &rhs)
 
 mmap_array (mmap_array &&rhs)
 
 ~mmap_array ()
 
void reset ()
 
void unlink ()
 
void set_hugepage_prefered (bool val)
 
void open (const std::string &filename, bool sync_to_file=false)
 
void open_with_hugepages (const std::string &filename, size_t capacity=0)
 
void dump (const std::string &filename)
 
void resize (size_t size)
 
void touch (const std::string &filename)
 
T * data ()
 
const T * data () const
 
void set (size_t idx, const T &val)
 
const T & get (size_t idx) const
 
const T & operator[] (size_t idx) const
 
T & operator[] (size_t idx)
 
size_t size () const
 
void swap (mmap_array< T > &rhs)
 
const std::string & filename () const
 

Private Attributes

std::string filename_
 
int fd_
 
T * data_
 
size_t size_
 
size_t mmap_size_
 
bool sync_to_file_
 
bool hugepage_prefered_
 

Constructor & Destructor Documentation

◆ mmap_array() [1/3]

template<typename T >
gs::mmap_array< T >::mmap_array ( )
inline

◆ mmap_array() [2/3]

template<typename T >
gs::mmap_array< T >::mmap_array ( const mmap_array< T > &  rhs)
inline

◆ mmap_array() [3/3]

template<typename T >
gs::mmap_array< T >::mmap_array ( mmap_array< T > &&  rhs)
inline

◆ ~mmap_array()

template<typename T >
gs::mmap_array< T >::~mmap_array ( )
inline

Member Function Documentation

◆ data() [1/2]

template<typename T >
T* gs::mmap_array< T >::data ( )
inline

◆ data() [2/2]

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

◆ dump()

template<typename T >
void gs::mmap_array< T >::dump ( const std::string &  filename)
inline

◆ filename()

template<typename T >
const std::string& gs::mmap_array< T >::filename ( ) const
inline

◆ get()

template<typename T >
const T& gs::mmap_array< T >::get ( size_t  idx) const
inline

◆ open()

template<typename T >
void gs::mmap_array< T >::open ( const std::string &  filename,
bool  sync_to_file = false 
)
inline

◆ open_with_hugepages()

template<typename T >
void gs::mmap_array< T >::open_with_hugepages ( const std::string &  filename,
size_t  capacity = 0 
)
inline

◆ operator[]() [1/2]

template<typename T >
T& gs::mmap_array< T >::operator[] ( size_t  idx)
inline

◆ operator[]() [2/2]

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

◆ reset()

template<typename T >
void gs::mmap_array< T >::reset ( )
inline

◆ resize()

template<typename T >
void gs::mmap_array< T >::resize ( size_t  size)
inline

◆ set()

template<typename T >
void gs::mmap_array< T >::set ( size_t  idx,
const T &  val 
)
inline

◆ set_hugepage_prefered()

template<typename T >
void gs::mmap_array< T >::set_hugepage_prefered ( bool  val)
inline

◆ size()

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

◆ swap()

template<typename T >
void gs::mmap_array< T >::swap ( mmap_array< T > &  rhs)
inline

◆ touch()

template<typename T >
void gs::mmap_array< T >::touch ( const std::string &  filename)
inline

◆ unlink()

template<typename T >
void gs::mmap_array< T >::unlink ( )
inline

Member Data Documentation

◆ data_

template<typename T >
T* gs::mmap_array< T >::data_
private

◆ fd_

template<typename T >
int gs::mmap_array< T >::fd_
private

◆ filename_

template<typename T >
std::string gs::mmap_array< T >::filename_
private

◆ hugepage_prefered_

template<typename T >
bool gs::mmap_array< T >::hugepage_prefered_
private

◆ mmap_size_

template<typename T >
size_t gs::mmap_array< T >::mmap_size_
private

◆ size_

template<typename T >
size_t gs::mmap_array< T >::size_
private

◆ sync_to_file_

template<typename T >
bool gs::mmap_array< T >::sync_to_file_
private

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