Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

Class stack_traits

stack_traits models a stack-traits providing a way to access certain properites defined by the enironment. Stack allocators use stack-traits to allocate stacks.

#include <boost/coroutine/stack_traits.hpp>

struct stack_traits
{
    static bool is_unbounded() noexcept;

    static std::size_t page_size() noexcept;

    static std::size_t default_size() noexcept;

    static std::size_t minimum_size() noexcept;

    static std::size_t maximum_size() noexcept;
}
static bool is_unbounded()

Returns:

Returns true if the environment defines no limit for the size of a stack.

Throws:

Nothing.

static std::size_t page_size()

Returns:

Returns the page size in bytes.

Throws:

Nothing.

static std::size_t default_size()

Returns:

Returns a default stack size, which may be platform specific. If the stack is unbounded then the present implementation returns the maximum of 64 kB and minimum_size().

Throws:

Nothing.

static std::size_t minimum_size()

Returns:

Returns the minimum size in bytes of stack defined by the environment (Win32 4kB/Win64 8kB, defined by rlimit on POSIX).

Throws:

Nothing.

static std::size_t maximum_size()

Preconditions:

is_unbounded() returns false.

Returns:

Returns the maximum size in bytes of stack defined by the environment.

Throws:

Nothing.


PrevUpHomeNext