|  | Home | Libraries | People | FAQ | More | 
        Boost.Fiber provides the class  protected_fixedsize_stack which
        models the stack-allocator
        concept. It appends a guard page at the end of each stack
        to protect against exceeding the stack. If the guard page is accessed (read
        or write operation) a segmentation fault/access violation is generated by
        the operating system.
      
| ![[Important]](../../../../../../doc/src/images/important.png) | Important | 
|---|---|
| 
          Using   | 
| ![[Note]](../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| 
          The appended  | 
#include <boost/fiber/protected_fixedsize.hpp> struct protected_fixedsize { protected_fixesize(std::size_t size = traits_type::default_size()); stack_context allocate(); void deallocate( stack_context &); }
stack_context allocate()
      
              traits_type::minimum_size()
              <= size
              and traits_type::is_unbounded()
              || (
              size <=
              traits_type::maximum_size()
              ).
            
              Allocates memory of at least size
              bytes and stores a pointer to the stack and its actual size in sctx. Depending on the architecture
              (the stack grows downwards/upwards) the stored address is the highest/lowest
              address of the stack.
            
void deallocate( stack_context
        & sctx)
      
              sctx.sp is valid, traits_type::minimum_size() <= sctx.size and traits_type::is_unbounded() || ( sctx.size <= traits_type::maximum_size() ).
            
Deallocates the stack space.