|  | Home | Libraries | People | FAQ | More | 
The memory used by the stack is allocated/deallocated via a StackAllocator which is required to model a stack-allocator concept.
        A StackAllocator must satisfy the stack-allocator
        concept requirements shown in the following table, in which a is an object of a StackAllocator
        type, sctx is a stack_context, and size
        is a std::size_t:
      
| expression | return type | notes | 
|---|---|---|
| 
                   | creates a stack allocator | |
| 
                   | 
                   | creates a stack | 
| 
                   | 
                   | 
                  deallocates the stack created by  | 
| ![[Important]](../../../../../../doc/src/images/important.png) | Important | 
|---|---|
| 
          The implementation of  | 
| ![[Important]](../../../../../../doc/src/images/important.png) | Important | 
|---|---|
| 
          Calling  | 
| ![[Note]](../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| The stack is not required to be aligned; alignment takes place inside execution_context. | 
| ![[Note]](../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| 
          Depending on the architecture  |