8#ifndef INCLUDED_BDLMA_BUFFEREDSEQUENTIALPOOL
9#define INCLUDED_BDLMA_BUFFEREDSEQUENTIALPOOL
352#include <bdlscm_version.h>
366#include <bsl_cstddef.h>
398 unsigned char d_growthStrategy;
402 bool d_sequentialPoolIsCreated;
534 template <
class TYPE>
540 template <
class TYPE>
626void *
operator new(bsl::size_t size,
627 BloombergLP::bdlma::BufferedSequentialPool& pool);
634void operator delete(
void *address,
635 BloombergLP::bdlma::BufferedSequentialPool& pool);
668 if (d_sequentialPoolIsCreated) {
682 void *result = d_bufferManager.
allocate(size);
687 if (
false == d_sequentialPoolIsCreated) {
688 this->createSequentialPool(size);
706#ifndef BSLS_PLATFORM_CMP_SUN
709 const_cast<TYPE *
>(object)->~TYPE();
720 if (d_sequentialPoolIsCreated) {
728 d_sequentialPoolIsCreated =
false;
739 if (d_sequentialPoolIsCreated) {
757void *
operator new(bsl::size_t size,
758 BloombergLP::bdlma::BufferedSequentialPool& pool)
764void operator delete(
void *, BloombergLP::bdlma::BufferedSequentialPool&)
Definition bdlma_buffermanager.h:307
void release()
Definition bdlma_buffermanager.h:597
bsls::Alignment::Strategy alignmentStrategy() const
Definition bdlma_buffermanager.h:612
void * allocate(bsls::Types::size_type size)
Definition bdlma_buffermanager.h:523
Definition bdlma_bufferedsequentialpool.h:388
~BufferedSequentialPool()
Definition bdlma_bufferedsequentialpool.h:663
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:703
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:696
bslma::Allocator * d_allocator_p
Definition bdlma_bufferedsequentialpool.h:408
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:413
bslma::Allocator * allocator() const
Definition bdlma_bufferedsequentialpool.h:746
void release()
Definition bdlma_bufferedsequentialpool.h:715
void rewind()
Definition bdlma_bufferedsequentialpool.h:733
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:675
Definition bdlma_sequentialpool.h:378
bslma::Allocator * allocator() const
Definition bdlma_sequentialpool.h:814
void * allocate(bsls::Types::size_type size)
Definition bdlma_sequentialpool.h:756
Definition bslma_allocator.h:457
void deleteObjectRaw(const TYPE *object)
Definition bslma_allocator.h:694
virtual void * allocate(size_type size)=0
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlma_alignedallocator.h:276
Strategy
Types of alignment strategy.
Definition bsls_alignment.h:239
Strategy
Definition bsls_blockgrowth.h:169
std::size_t size_type
Definition bsls_types.h:124