BloombergLP::bslalg::ArrayPrimitives::defaultConstruct

defaultConstruct overloads

Synopses

Declared in <bslalg_arrayprimitives.h>

Value-inititalize the specified numElements objects of type allocator_traits<ALLOCATOR>::value_type into the uninitialized array beginning at the specified begin location, using the specified allocator to supply memory (if required). If a constructor throws an exception during this operation, then the destructor is called on any newly constructed elements, leaving the output array in an uninitialized state. The behavior is undefined unless the begin refers to space sufficient to hold numElements.

template<class ALLOCATOR>
static
void
defaultConstruct(
    bsl::allocator_traits<ALLOCATOR>::pointer begin,
    size_type numElements,
    ALLOCATOR allocator);
» more...

Construct each of the elements of an array of the specified numElements of the parameterized TARGET_TYPE starting at the specified begin address by value-initialization. If the (template parameter) ALLOCATOR type is derived from bslma::Allocator and TARGET_TYPE supports bslma allocators, then the specified allocator is passed to each TARGET_TYPE default constructor call. The behavior is undefined unless the output array contains at least numElements uninitialized elements after begin. If a TARGET_TYPE constructor throws an exception during this operation, then the destructor is called on any newly-constructed elements, leaving the output array in an uninitialized state.

template<class TARGET_TYPE>
static
void
defaultConstruct(
    TARGET_TYPE* begin,
    size_type numElements,
    bslma::Allocator* allocator);
» more...