QuantumLibrary
Bloomberg::quantum::StackTraits Struct Reference

Allows application-wide overrides for the coroutine stack traits which are used internally by boost::coroutines2. More...

#include <quantum_stack_traits.h>

Static Public Member Functions

static bool & isUnbounded ()
 Get/set if the environment defines a limit for the stack size. More...
 
static size_t & pageSize ()
 Get/set the page size. More...
 
static size_t & defaultSize ()
 Get/set the default stack size, which may be platform specific. More...
 
static size_t & minimumSize ()
 Get/set the minimum stack size as defined by the environment. More...
 
static size_t & maximumSize ()
 Get/set the maximum stack size. More...
 

Detailed Description

Allows application-wide overrides for the coroutine stack traits which are used internally by boost::coroutines2.

Note
See boost::context::stack_traits for details. Typically only the default size should be modified.

Member Function Documentation

◆ defaultSize()

size_t & Bloomberg::quantum::StackTraits::defaultSize ( )
inlinestatic

Get/set the default stack size, which may be platform specific.

Returns
Modifiable reference to the size in bytes. @detail If the stack is unbounded, the default boost implementation returns the max of {64kB, minimum_size()}.

◆ isUnbounded()

bool & Bloomberg::quantum::StackTraits::isUnbounded ( )
inlinestatic

Get/set if the environment defines a limit for the stack size.

Returns
Modifiable reference.

◆ maximumSize()

size_t & Bloomberg::quantum::StackTraits::maximumSize ( )
inlinestatic

Get/set the maximum stack size.

Returns
Modifiable reference to the size in bytes.
Note
Only takes effect if isUnbounded() == false.

◆ minimumSize()

size_t & Bloomberg::quantum::StackTraits::minimumSize ( )
inlinestatic

Get/set the minimum stack size as defined by the environment.

Returns
Modifiable reference to the size in bytes.
Note
Win32 4kB/Win64 8kB, defined by rlimit on POSIX.

◆ pageSize()

size_t & Bloomberg::quantum::StackTraits::pageSize ( )
inlinestatic

Get/set the page size.

Returns
Modifiable reference to the size in bytes.