[#BloombergLP-bslalg-ArrayDestructionPrimitives-destroy-0d] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/ArrayDestructionPrimitives.adoc[ArrayDestructionPrimitives]::destroy :relfileprefix: ../../../ :mrdocs: `destroy` overloads == Synopses Declared in `<bslalg_arraydestructionprimitives.h>` Destroy of the elements in the segment of an array of parameterized `TARGET_TYPE` beginning at the specified `begin` address and ending immediately before the specified `end` address. If `begin == 0` and `end == 0` this function has no effect. The behavior is undefined unless either (1) `begin <= end`, `begin != 0`, and `end != 0`, or (2) `begin == 0 && end == 0`. Note that this method does not deallocate any memory (except memory deallocated by the element destructor calls). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TARGET_TYPE> static void xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-04.adoc[destroy]( TARGET_TYPE* begin, TARGET_TYPE* end); ---- [.small]#xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-04.adoc[_» more..._]# Destroy each `TARGET_TYPE` in `[begin, end)]` using the destructor. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TARGET_TYPE> static void xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-0e.adoc[destroy]( TARGET_TYPE* begin, TARGET_TYPE* end, xref:bsl/false_type.adoc[bsl::false_type]); ---- [.small]#xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-0e.adoc[_» more..._]# Destroy each instance of `TARGET_TYPE` in the array beginning at the specified `begin` address and ending immediately before the specified `end` address. Elide the use of the destructor entirely if (template parameter) `TARGET_TYPE` is bitwise copyable, i.e. in the overload where the last argument (used only for overload resolution) if of type `bsl::true_type`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TARGET_TYPE> static void xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-02.adoc[destroy]( TARGET_TYPE* begin, TARGET_TYPE* end, xref:bsl/true_type.adoc[bsl::true_type]); ---- [.small]#xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-02.adoc[_» more..._]# Destroy the elements in the segment of an array of parameterized `TARGET_TYPE` beginning at the specified `begin` address and ending immediately before the specified `end` address, using the specified `allocator`. If `begin == 0` and `end == 0` this function has no effect. The behavior is undefined unless either (1) `begin <= end`, `begin != 0`, and `end != 0`, or (2) `begin == 0 && end == 0`. Note that this method does not deallocate any memory (except memory deallocated by the element destructor calls). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class TARGET_TYPE, class ALLOCATOR> static void xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-0a.adoc[destroy]( TARGET_TYPE* begin, TARGET_TYPE* end, ALLOCATOR allocator); ---- [.small]#xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-0a.adoc[_» more..._]# Same as the preceding `destroy` overload, for non‐bitwise‐copyable types. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class TARGET_TYPE, class ALLOCATOR> static void xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-09.adoc[destroy]( TARGET_TYPE* begin, TARGET_TYPE* end, ALLOCATOR allocator, xref:bsl/false_type.adoc[bsl::false_type]); ---- [.small]#xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-09.adoc[_» more..._]# Destroy each instance of `TARGET_TYPE` in the array beginning at the specified `begin` address and ending immediately before the specified `end` address, using the specified `allocator`. Elide the use of the destructor entirely if (template parameter) `TARGET_TYPE` is bitwise copyable, i.e., in the overload where the last argument (used only for overload resolution) is of type `bsl::true_type`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class TARGET_TYPE, class ALLOCATOR> static void xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-0b.adoc[destroy]( TARGET_TYPE* begin, TARGET_TYPE* end, ALLOCATOR allocator, xref:bsl/true_type.adoc[bsl::true_type]); ---- [.small]#xref:BloombergLP/bslalg/ArrayDestructionPrimitives/destroy-0b.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#