STXXL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::hash_map::block_cache_write_buffer< BlockType > Class Template Reference

Detailed Description

template<class BlockType>
class stxxl::hash_map::block_cache_write_buffer< BlockType >

Used inside block_cache for buffering write requests of cached blocks.

Definition at line 35 of file block_cache.h.

+ Inheritance diagram for stxxl::hash_map::block_cache_write_buffer< BlockType >:
+ Collaboration diagram for stxxl::hash_map::block_cache_write_buffer< BlockType >:

Public Types

typedef block_type::bid_type bid_type
 
typedef BlockType block_type
 

Public Member Functions

 block_cache_write_buffer (unsigned_type size)
 
 ~block_cache_write_buffer ()
 
void flush ()
 
void swap (block_cache_write_buffer &obj)
 
block_typewrite (block_type *write_block, const bid_type &bid)
 Writes the given block back to disk; callers have to exchange the passed block with the returned one! More...
 

Protected Attributes

std::vector< block_type * > blocks_
 
std::list< unsigned_typebusy_blocks_
 
std::vector< unsigned_typefree_blocks_
 
std::vector< request_ptrreqs_
 

Additional Inherited Members

- Private Member Functions inherited from stxxl::noncopyable
 noncopyable ()
 

Member Typedef Documentation

template<class BlockType>
typedef block_type::bid_type stxxl::hash_map::block_cache_write_buffer< BlockType >::bid_type

Definition at line 39 of file block_cache.h.

template<class BlockType>
typedef BlockType stxxl::hash_map::block_cache_write_buffer< BlockType >::block_type

Definition at line 38 of file block_cache.h.

Constructor & Destructor Documentation

template<class BlockType>
stxxl::hash_map::block_cache_write_buffer< BlockType >::block_cache_write_buffer ( unsigned_type  size)
inline

Definition at line 48 of file block_cache.h.

template<class BlockType>
stxxl::hash_map::block_cache_write_buffer< BlockType >::~block_cache_write_buffer ( )
inline

Definition at line 107 of file block_cache.h.

Member Function Documentation

template<class BlockType>
void stxxl::hash_map::block_cache_write_buffer< BlockType >::flush ( )
inline

Definition at line 85 of file block_cache.h.

template<class BlockType>
void stxxl::hash_map::block_cache_write_buffer< BlockType >::swap ( block_cache_write_buffer< BlockType > &  obj)
inline

Definition at line 99 of file block_cache.h.

template<class BlockType>
block_type* stxxl::hash_map::block_cache_write_buffer< BlockType >::write ( block_type write_block,
const bid_type bid 
)
inline

Writes the given block back to disk; callers have to exchange the passed block with the returned one!

Definition at line 62 of file block_cache.h.

Member Data Documentation

template<class BlockType>
std::vector<block_type*> stxxl::hash_map::block_cache_write_buffer< BlockType >::blocks_
protected
template<class BlockType>
std::list<unsigned_type> stxxl::hash_map::block_cache_write_buffer< BlockType >::busy_blocks_
protected
template<class BlockType>
std::vector<unsigned_type> stxxl::hash_map::block_cache_write_buffer< BlockType >::free_blocks_
protected
template<class BlockType>
std::vector<request_ptr> stxxl::hash_map::block_cache_write_buffer< BlockType >::reqs_
protected

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