[#BloombergLP-bdlma-BufferedSequentialAllocator-2constructor-06a] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlma.adoc[bdlma]::xref:BloombergLP/bdlma/BufferedSequentialAllocator.adoc[BufferedSequentialAllocator]::BufferedSequentialAllocator :relfileprefix: ../../../ :mrdocs: Create a buffered sequential allocator for allocating memory blocks from the specified external `buffer` having the specified `size` (in bytes), or from an internal buffer (after the external `buffer` is exhausted) where the buffer growth is limited to the specified `maxBufferSize` (in bytes). Optionally specify a `growthStrategy` used to control buffer growth. If a `growthStrategy` is not specified, geometric growth is used. Optionally specify an `alignmentStrategy` used to align allocated memory blocks. If an `alignmentStrategy` is not specified, natural alignment is used. Optionally specify a `basicAllocator` used to supply memory should the capacity of `buffer` be exhausted. If `basicAllocator` is 0, the currently installed default allocator is used. The behavior is undefined unless `0 < size`, `size <= maxBufferSize`, and `buffer` has at least `size` bytes. Note that, due to alignment effects, it is possible that not all `size` bytes of memory in `buffer` can be used for allocation. Also note that when constant growth is used, the size of the internal buffers will always be the same as `size`. Create a buffered sequential allocator with growth limited to `maxBufferSize`. == Synopsis Declared in `<bdlma_bufferedsequentialallocator.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- BufferedSequentialAllocator( char* buffer, xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size_type] size, xref:BloombergLP/bsls/Types/size_type.adoc[bsls::Types::size_type] maxBufferSize, xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#