| Home | Libraries | People | FAQ | More

###### monotonic_resource::monotonic_resource (2 of 6 overloads)

Constructor.

###### Synopsis

    monotonic_resource(
        std::byte* buffer,
        std::size_t size,
        storage_ptr upstream);

###### Description

This constructs the resource and indicates that subsequent allocations should use the specified caller-owned buffer. When this buffer is exhausted, dynamic allocations from the upstream resource are made.

This constructor is guaranteed not to perform any dynamic allocations.

###### Complexity

Constant.

###### Exception Safety

No-throw guarantee.

###### Parameters

Name | Description
--- | ---
`buffer` | The buffer to use. Ownership is not transferred; the caller is responsible for ensuring that the lifetime of the buffer extends until the resource is destroyed.
`size` | The number of valid bytes pointed to by `buffer`.
`upstream` | An optional upstream memory resource to use for performing internal dynamic allocations. If this parameter is omitted, the default resource is used.