Stxxl  1.2.1
Public Member Functions | List of all members
grow_shrink_stack2< Config_ > Class Template Reference

Efficient implementation that uses prefetching and overlapping using (shared) buffers pools. More...

#include <stack.h>

Inherits noncopyable.

Public Member Functions

 grow_shrink_stack2 (prefetch_pool< block_type > &p_pool_, write_pool< block_type > &w_pool_, unsigned_type prefetch_aggressiveness=0)
 Constructs stack.
void set_prefetch_aggr (unsigned_type new_p)
 Sets level of prefetch aggressiveness (number of blocks from the prefetch pool used for prefetching)
unsigned_type get_prefetch_aggr () const
 Returns number of blocks used for prefetching.

Detailed Description

template<class Config_>
class grow_shrink_stack2< Config_ >

Efficient implementation that uses prefetching and overlapping using (shared) buffers pools.

Constructor & Destructor Documentation

template<class Config_ >
grow_shrink_stack2< Config_ >::grow_shrink_stack2 ( prefetch_pool< block_type > &  p_pool_,
write_pool< block_type > &  w_pool_,
unsigned_type  prefetch_aggressiveness = 0 
)
inline

Constructs stack.

Parameters
p_pool_prefetch pool, that will be used for block prefetching
w_pool_write pool, that will be used for block writing
prefetch_aggressivenessnumber of blocks that will be used from prefetch pool

Member Function Documentation

template<class Config_ >
unsigned_type grow_shrink_stack2< Config_ >::get_prefetch_aggr ( ) const
inline

Returns number of blocks used for prefetching.

template<class Config_ >
void grow_shrink_stack2< Config_ >::set_prefetch_aggr ( unsigned_type  new_p)
inline

Sets level of prefetch aggressiveness (number of blocks from the prefetch pool used for prefetching)

Parameters
new_pnew value for the prefetch aggressiveness

References prefetch_pool< BlockType >::hint(), prefetch_pool< BlockType >::read(), and request::wait().


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