8#ifndef INCLUDED_BSLMA_SEQUENTIALPOOL
9#define INCLUDED_BSLMA_SEQUENTIALPOOL
408#ifdef BDE_OPENSOURCE_PUBLICATION
409#error "bslma_sequentialpool is deprecated"
443 enum GrowthStrategy {
465 GrowthStrategy d_growthStrategy;
479 int calculateNextBufferSize(
int size)
const;
627 template <
class TYPE>
633 template <
class TYPE>
644 int expand(
void *address,
int originalNumBytes);
655 int expand(
void *address,
int originalNumBytes,
int maxNumBytes);
674 int truncate(
void *address,
int originalNumBytes,
int newNumBytes);
733void *
operator new(std::size_t size, BloombergLP::bslma::SequentialPool& pool);
741void operator delete(
void *address, BloombergLP::bslma::SequentialPool& pool);
766#if defined(BSLS_PLATFORM_CMP_SUN) && BSLS_PLATFORM_CMP_VERSION < 0x5130
767 const_cast<TYPE *
>(object)->~TYPE();
783#ifndef BDE_OPENSOURCE_PUBLICATION
797void *
operator new(std::size_t size, BloombergLP::bslma::SequentialPool& pool)
799 return pool.
allocate(
static_cast<int>(size));
803void operator delete(
void *, BloombergLP::bslma::SequentialPool&)
Definition bslma_allocator.h:457
AlignmentStrategy
Types of alignment strategy to allocate memory.
Definition bslma_bufferallocator.h:274
Definition bslma_infrequentdeleteblocklist.h:216
Definition bslma_sequentialpool.h:440
SequentialPool(int initialSize, BufferAllocator::AlignmentStrategy strategy, Allocator *basicAllocator=0)
SequentialPool(char *buffer, int bufferSize, BufferAllocator::AlignmentStrategy strategy, Allocator *basicAllocator=0)
void * allocateAndExpand(int *size, int maxNumBytes)
SequentialPool(int initialSize, Allocator *basicAllocator=0)
void deleteObjectRaw(const TYPE *object)
Definition bslma_sequentialpool.h:763
SequentialPool(char *buffer, int bufferSize, Allocator *basicAllocator=0)
void reserveCapacity(int numBytes)
SequentialPool(int initialSize, int maxBufferSize, Allocator *basicAllocator=0)
~SequentialPool()
Definition bslma_sequentialpool.h:756
int truncate(void *address, int originalNumBytes, int newNumBytes)
SequentialPool(BufferAllocator::AlignmentStrategy strategy, Allocator *basicAllocator=0)
SequentialPool(int initialSize, int maxBufferSize, BufferAllocator::AlignmentStrategy strategy, Allocator *basicAllocator=0)
int expand(void *address, int originalNumBytes)
void * allocateAndExpand(int *size)
void deleteObject(const TYPE *object)
Definition bslma_sequentialpool.h:776
void * allocate(int size)
SequentialPool(char *buffer, int bufferSize, int maxBufferSize, Allocator *basicAllocator=0)
void release()
Release all memory currently allocated through this pool.
SequentialPool(Allocator *basicAllocator=0)
SequentialPool(char *buffer, int bufferSize, int maxBufferSize, BufferAllocator::AlignmentStrategy strategy, Allocator *basicAllocator=0)
int expand(void *address, int originalNumBytes, int maxNumBytes)
bslma::SequentialPool bslma_SequentialPool
This alias is defined for backward compatibility.
Definition bslma_sequentialpool.h:789
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition balxml_encoderoptions.h:68