destroy overloads

Synopses

Declared in <bslalg_arraydestructionprimitives.h>

Destroy the elements in the specified array range.

template<class TARGET_TYPE>
static
void
destroy(
    TARGET_TYPE* begin,
    TARGET_TYPE* end);

Destroy each TARGET_TYPE in [begin, end)] using the destructor.

template<class TARGET_TYPE>
static
void
destroy(
    TARGET_TYPE* begin,
    TARGET_TYPE* end,
    bsl::false_type traits);

Destroy each TARGET_TYPE in [begin, end)].

template<class TARGET_TYPE>
static
void
destroy(
    TARGET_TYPE* begin,
    TARGET_TYPE* end,
    bsl::true_type traits);

Destroy the elements in the specified array range using an allocator.

template<
    class TARGET_TYPE,
    class ALLOCATOR>
static
void
destroy(
    TARGET_TYPE* begin,
    TARGET_TYPE* end,
    ALLOCATOR allocator);

Same as the preceding destroy overload, for non‐bitwise‐copyable types.

template<
    class TARGET_TYPE,
    class ALLOCATOR>
static
void
destroy(
    TARGET_TYPE* begin,
    TARGET_TYPE* end,
    ALLOCATOR allocator,
    bsl::false_type traits);

Destroy each TARGET_TYPE in [begin, end)] using an allocator.

template<
    class TARGET_TYPE,
    class ALLOCATOR>
static
void
destroy(
    TARGET_TYPE* begin,
    TARGET_TYPE* end,
    ALLOCATOR allocator,
    bsl::true_type traits);

Parameters

Name

Description

begin

beginning of the range of elements to destroy

end

end of the range of elements to destroy (one past the last)

traits

unused trait tag for overload resolution

allocator

allocator used to destroy elements

Created with MrDocs