libmoost
moost::container::mmd_vector< T > Class Template Reference

#include <vector.hpp>

Inheritance diagram for moost::container::mmd_vector< T >:
Collaboration diagram for moost::container::mmd_vector< T >:

List of all members.

Classes

class  writer

Public Types

typedef const T & const_reference
typedef const T * const_iterator
typedef size_t size_type
typedef T value_type
typedef const T * const_pointer
typedef
std::random_access_iterator_tag 
iterator_category

Public Member Functions

 mmd_vector ()
 mmd_vector (const memory_mapped_dataset &mmd, const std::string &name)
void set (const memory_mapped_dataset &mmd, const std::string &name)
void warm_cache () const
const_iterator begin () const
const_iterator end () const
size_type size () const
bool empty () const
const_reference operator[] (size_type ix) const

Static Public Attributes

static const size_t MMD_VECTOR_ALIGNMENT = 16

Private Member Functions

 BOOST_STATIC_ASSERT_MSG (boost::is_pod< T >::value,"mmd_vector<> template can only handle POD types")

Private Attributes

const_iterator m_begin
const_iterator m_end

Detailed Description

template<typename T>
class moost::container::mmd_vector< T >

Memory-mapped dataset section representing a POD vector

This is the most useful type of section as it allows using huge vectors (millions of elements) of data without loading the entire data to memory.

A mmd_vector can be used more or less like a standard vector, i.e. it supports access through iterators as well as indexed access.

Definition at line 53 of file vector.hpp.


Member Typedef Documentation

template<typename T >
typedef const T* moost::container::mmd_vector< T >::const_iterator

Definition at line 61 of file vector.hpp.

template<typename T >
typedef const T* moost::container::mmd_vector< T >::const_pointer

Definition at line 64 of file vector.hpp.

template<typename T >
typedef const T& moost::container::mmd_vector< T >::const_reference

Definition at line 60 of file vector.hpp.

template<typename T >
typedef std::random_access_iterator_tag moost::container::mmd_vector< T >::iterator_category

Definition at line 65 of file vector.hpp.

template<typename T >
typedef size_t moost::container::mmd_vector< T >::size_type

Definition at line 62 of file vector.hpp.

template<typename T >
typedef T moost::container::mmd_vector< T >::value_type

Definition at line 63 of file vector.hpp.


Constructor & Destructor Documentation

template<typename T >
moost::container::mmd_vector< T >::mmd_vector ( ) [inline]

Definition at line 109 of file vector.hpp.

template<typename T >
moost::container::mmd_vector< T >::mmd_vector ( const memory_mapped_dataset mmd,
const std::string &  name 
) [inline]

Definition at line 115 of file vector.hpp.


Member Function Documentation

template<typename T >
const_iterator moost::container::mmd_vector< T >::begin ( ) const [inline]

Definition at line 139 of file vector.hpp.

template<typename T >
moost::container::mmd_vector< T >::BOOST_STATIC_ASSERT_MSG ( boost::is_pod< T >::value  ,
"mmd_vector<> template can only handle POD types"   
) [private]
template<typename T >
bool moost::container::mmd_vector< T >::empty ( ) const [inline]

Definition at line 154 of file vector.hpp.

Here is the call graph for this function:

template<typename T >
const_iterator moost::container::mmd_vector< T >::end ( ) const [inline]

Definition at line 144 of file vector.hpp.

template<typename T >
const_reference moost::container::mmd_vector< T >::operator[] ( size_type  ix) const [inline]

Definition at line 159 of file vector.hpp.

template<typename T >
void moost::container::mmd_vector< T >::set ( const memory_mapped_dataset mmd,
const std::string &  name 
) [inline]

Definition at line 120 of file vector.hpp.

Here is the call graph for this function:

template<typename T >
size_type moost::container::mmd_vector< T >::size ( ) const [inline]

Definition at line 149 of file vector.hpp.

Here is the caller graph for this function:

template<typename T >
void moost::container::mmd_vector< T >::warm_cache ( ) const [inline]

Definition at line 134 of file vector.hpp.


Member Data Documentation

template<typename T >
const_iterator moost::container::mmd_vector< T >::m_begin [private]

Definition at line 165 of file vector.hpp.

template<typename T >
const_iterator moost::container::mmd_vector< T >::m_end [private]

Definition at line 166 of file vector.hpp.

template<typename T >
const size_t moost::container::mmd_vector< T >::MMD_VECTOR_ALIGNMENT = 16 [static]

Definition at line 58 of file vector.hpp.


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