Stxxl
1.3.2
|
Stack type generator. More...
#include <stack.h>
Public Types | |
typedef IF< Externality==internal, IntStackTp, MigrOrNotStackTp > ::result | result |
Stack type generator.
ValTp | type of contained objects (POD with no references to internal memory) |
Externality | one of
|
Behaviour | chooses external implementation, one of:
|
BlocksPerPage | defines how many blocks has one page of internal cache of an external implementation, default is four. All external implementations have two pages. |
BlkSz | external block size in bytes, default is 2 MiB |
IntStackTp | type of internal stack used for some implementations |
MigrCritSize | threshold value for number of elements when stxxl::migrating_stack migrates to the external memory |
AllocStr | one of allocation strategies: striping , RC , SR , or FR default is RC |
SzTp | size type, default is stxxl::int64 |
Configured stack type is available as STACK_GENERATOR<>::result
.
Examples:
STACK_GENERATOR<double>::result
external stack of double's
,STACK_GENERATOR<double,internal>::result
internal stack of double's
,STACK_GENERATOR<double,external,grow_shrink>::result
external grow-shrink stack of double's
,STACK_GENERATOR<double,migrating,grow_shrink>::result
migrating grow-shrink stack of double's
, internal implementation is std::stack<double>
,STACK_GENERATOR<double,migrating,grow_shrink,1,512*1024>::result
migrating grow-shrink stack of double's
with 1 block per page and block size 512 KiB (total memory occupied = 1 MiB). For configured stack method semantics see documentation of the STL std::stack
.