8#ifndef INCLUDED_BDLMA_BUFFEREDSEQUENTIALPOOL
9#define INCLUDED_BDLMA_BUFFEREDSEQUENTIALPOOL
357#include <bdlscm_version.h>
371#include <bsl_cstddef.h>
404 unsigned char d_growthStrategy;
408 bool d_sequentialPoolIsCreated;
545 template <
class TYPE>
552 template <
class TYPE>
640void *
operator new(bsl::size_t size,
641 BloombergLP::bdlma::BufferedSequentialPool& pool);
649void operator delete(
void *address,
650 BloombergLP::bdlma::BufferedSequentialPool& pool);
683 if (d_sequentialPoolIsCreated) {
697 void *result = d_bufferManager.
allocate(size);
702 if (
false == d_sequentialPoolIsCreated) {
703 this->createSequentialPool(size);
721#ifndef BSLS_PLATFORM_CMP_SUN
724 const_cast<TYPE *
>(object)->~TYPE();
735 if (d_sequentialPoolIsCreated) {
743 d_sequentialPoolIsCreated =
false;
754 if (d_sequentialPoolIsCreated) {
772void *
operator new(bsl::size_t size,
773 BloombergLP::bdlma::BufferedSequentialPool& pool)
779void operator delete(
void *, BloombergLP::bdlma::BufferedSequentialPool&)
Definition bdlma_buffermanager.h:312
void release()
Definition bdlma_buffermanager.h:611
bsls::Alignment::Strategy alignmentStrategy() const
Definition bdlma_buffermanager.h:626
void * allocate(bsls::Types::size_type size)
Definition bdlma_buffermanager.h:537
Definition bdlma_bufferedsequentialpool.h:394
~BufferedSequentialPool()
Definition bdlma_bufferedsequentialpool.h:678
BufferedSequentialPool(char *buffer, bsls::Types::size_type size, bsls::Types::size_type maxBufferSize, bsls::BlockGrowth::Strategy growthStrategy, bslma::Allocator *basicAllocator=0)
void deleteObjectRaw(const TYPE *object)
Definition bdlma_bufferedsequentialpool.h:718
BufferedSequentialPool(char *buffer, bsls::Types::size_type size, bsls::BlockGrowth::Strategy growthStrategy, bslma::Allocator *basicAllocator=0)
void deleteObject(const TYPE *object)
Definition bdlma_bufferedsequentialpool.h:711
bslma::Allocator * d_allocator_p
Definition bdlma_bufferedsequentialpool.h:414
BufferedSequentialPool(char *buffer, bsls::Types::size_type size, bsls::Types::size_type maxBufferSize, bslma::Allocator *basicAllocator=0)
BufferedSequentialPool(char *buffer, bsls::Types::size_type size, bsls::BlockGrowth::Strategy growthStrategy, bsls::Alignment::Strategy alignmentStrategy, bslma::Allocator *basicAllocator=0)
BufferedSequentialPool(char *buffer, bsls::Types::size_type size, bsls::Types::size_type maxBufferSize, bsls::Alignment::Strategy alignmentStrategy, bslma::Allocator *basicAllocator=0)
BufferedSequentialPool(char *buffer, bsls::Types::size_type size, bslma::Allocator *basicAllocator=0)
SequentialPool * d_pool_p
Definition bdlma_bufferedsequentialpool.h:419
bslma::Allocator * allocator() const
Definition bdlma_bufferedsequentialpool.h:761
void release()
Definition bdlma_bufferedsequentialpool.h:730
void rewind()
Definition bdlma_bufferedsequentialpool.h:748
BufferedSequentialPool(char *buffer, bsls::Types::size_type size, bsls::Types::size_type maxBufferSize, bsls::BlockGrowth::Strategy growthStrategy, bsls::Alignment::Strategy alignmentStrategy, bslma::Allocator *basicAllocator=0)
BufferedSequentialPool(char *buffer, bsls::Types::size_type size, bsls::Alignment::Strategy alignmentStrategy, bslma::Allocator *basicAllocator=0)
void * allocate(bsls::Types::size_type size)
Definition bdlma_bufferedsequentialpool.h:690
Definition bdlma_sequentialpool.h:383
bslma::Allocator * allocator() const
Definition bdlma_sequentialpool.h:835
void * allocate(bsls::Types::size_type size)
Definition bdlma_sequentialpool.h:777
Definition bslma_allocator.h:545
void deleteObjectRaw(const TYPE *object)
Definition bslma_allocator.h:804
virtual void * allocate(size_type size)=0
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlma_alignedallocator.h:278
Strategy
Types of alignment strategy.
Definition bsls_alignment.h:241
Strategy
Definition bsls_blockgrowth.h:172
std::size_t size_type
Definition bsls_types.h:126