8#ifndef INCLUDED_BDLAT_ARRAYFUNCTIONS
9#define INCLUDED_BDLAT_ARRAYFUNCTIONS
730#include <bdlscm_version.h>
736#include <bsl_cstddef.h>
737#include <bsl_cstdlib.h>
738#include <bsl_vector.h>
755 template <
class TYPE>
761 template <
class TYPE>
777 template <
class TYPE,
class MANIPULATOR>
779 MANIPULATOR& manipulator,
788 template <
class TYPE>
798 template <
class TYPE>
813 template <
class TYPE,
class ACCESSOR>
819 template <
class TYPE>
820 bsl::size_t
size(
const TYPE& array);
824 template <
class TYPE>
838 template <
class TYPE>
842 template <
class TYPE>
858 template <
class TYPE,
class ALLOC>
862 template <
class TYPE,
class ALLOC>
868 template <
class TYPE,
class ALLOC,
class MANIPULATOR>
870 MANIPULATOR& manipulator,
873 template <
class TYPE,
class ALLOC>
876 template <
class TYPE,
class ALLOC>
880 template <
class TYPE,
class ALLOC,
class ACCESSOR>
885 template <
class TYPE,
class ALLOC>
888 template <
class TYPE,
class ALLOC>
902template <
class TYPE,
class MANIPULATOR>
905 MANIPULATOR& manipulator,
908 return bdlat_arrayManipulateElement(array, manipulator, index);
926template <
class TYPE,
class ACCESSOR>
974template <
class TYPE,
class ALLOC,
class MANIPULATOR>
978 MANIPULATOR& manipulator,
981 TYPE& element = (*array)[index];
982 return manipulator(&element);
985template <
class TYPE,
class ALLOC>
995template <
class TYPE,
class ALLOC>
1004template <
class TYPE,
class ALLOC,
class ACCESSOR>
1011 return accessor(array[index]);
1014template <
class TYPE,
class ALLOC>
1019 return array.
size();
1022template <
class TYPE,
class ALLOC>
size_type size() const BSLS_KEYWORD_NOEXCEPT
Return the number of elements in this vector.
Definition bslstl_vector.h:3019
Definition bslstl_vector.h:1120
void reserve(size_type newCapacity)
Definition bslstl_vector.h:4263
void resize(size_type newSize)
Definition bslstl_vector.h:4189
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
void bdlat_arrayResize(ArrayRef *array, int newSize)
Definition bdlar_arrayref.h:300
int bdlat_arrayAccessElement(const ArrayRef &array, t_ACCESSOR &accessor, int index)
Definition bdlar_arrayref.h:307
bsl::size_t bdlat_arraySize(const ArrayRef &array)
Definition bdlar_arrayref.h:315
Definition bdlar_arrayref.h:422
int bdlat_arrayReserve(TYPE *array, int numElements)
bool bdlat_arraySupportsReserve(const TYPE &array)
int manipulateElement(TYPE *array, MANIPULATOR &manipulator, int index)
void resize(TYPE *array, int newSize)
void bdlat_arrayResize(bsl::vector< TYPE, ALLOC > *array, int newSize)
bool supportsReserve(const TYPE &array)
bsl::size_t size(const TYPE &array)
Return the number of elements in the specified array.
int reserve(TYPE *array, int numElements)
int accessElement(const TYPE &array, ACCESSOR &accessor, int index)
int bdlat_arrayAccessElement(const bsl::vector< TYPE, ALLOC > &array, ACCESSOR &accessor, int index)
bsl::size_t bdlat_arraySize(const bsl::vector< TYPE, ALLOC > &array)
int bdlat_arrayManipulateElement(bsl::vector< TYPE, ALLOC > *array, MANIPULATOR &manipulator, int index)
Definition bdlat_valuetypefunctions.h:939
TYPE Type
Definition bdlat_arrayfunctions.h:864
Definition bdlat_arrayfunctions.h:756
Definition bdlat_arrayfunctions.h:762
Definition bslmf_integralconstant.h:261