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_stackmigrates to the external memory | |
| AllocStr | one of allocation strategies: striping,RC,SR, orFRdefault 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.  1.7.1
 1.7.1