[#BloombergLP-bdlma-BufferedSequentialAllocator-2constructor-07] = 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). 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`, 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 no limit is imposed on the size of the internal buffers when geometric growth is used. Also note that when constant growth is used, the size of the internal buffers will always be the same as `size`. == 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/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#