8#ifndef INCLUDED_BDLB_ARRAYUTIL
9#define INCLUDED_BDLB_ARRAYUTIL
214#include <bdlscm_version.h>
216#include <bsl_iterator.h>
217#include <bsl_cstddef.h>
221#define BDLB_ARRAYUTIL_SIZE(a) sizeof(BloombergLP::bdlb::ArrayUtil::sizer(a))
225#define BDLB_ARRAYUTIL_LENGTH(a) sizeof(BloombergLP::bdlb::ArrayUtil::sizer(a))
247 template <
class TYPE, bsl::
size_t LENGTH>
248 static TYPE *
begin(TYPE (&array)[LENGTH]);
252 template <
class TYPE, bsl::
size_t LENGTH>
253 static TYPE *
end(TYPE (&array)[LENGTH]);
258 template <
class TYPE, bsl::
size_t LENGTH>
259 static bsl::reverse_iterator<TYPE *>
rbegin(TYPE (&array)[LENGTH]);
264 template <
class TYPE, bsl::
size_t LENGTH>
265 static bsl::reverse_iterator<TYPE *>
rend(TYPE (&array)[LENGTH]);
272 template <
class TYPE, bsl::
size_t LENGTH>
273 static bsl::size_t
length(TYPE (&array)[LENGTH]);
278 template <
class TYPE, bsl::
size_t LENGTH>
279 static bsl::size_t
size(TYPE (&array)[LENGTH]);
288 template <
class TYPE, bsl::
size_t LENGTH>
289 static char (&
sizer(TYPE (&array)[LENGTH]))[LENGTH];
304template <
class TYPE, bsl::
size_t LENGTH>
311template <
class TYPE, bsl::
size_t LENGTH>
315 return array + LENGTH;
318template <
class TYPE, bsl::
size_t LENGTH>
322 return bsl::reverse_iterator<TYPE *>(end(array));
325template <
class TYPE, bsl::
size_t LENGTH>
329 return bsl::reverse_iterator<TYPE *>(begin(array));
334template <
class TYPE, bsl::
size_t LENGTH>
341template <
class TYPE, bsl::
size_t LENGTH>
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlb_algorithmworkaroundutil.h:74
Definition bdlb_arrayutil.h:238
static TYPE * end(TYPE(&array)[LENGTH])
Definition bdlb_arrayutil.h:313
static bsl::reverse_iterator< TYPE * > rend(TYPE(&array)[LENGTH])
Definition bdlb_arrayutil.h:327
static bsl::size_t length(TYPE(&array)[LENGTH])
Definition bdlb_arrayutil.h:336
static bsl::reverse_iterator< TYPE * > rbegin(TYPE(&array)[LENGTH])
Definition bdlb_arrayutil.h:320
static TYPE * begin(TYPE(&array)[LENGTH])
Definition bdlb_arrayutil.h:306
static char(& sizer(TYPE(&array)[LENGTH]))[LENGTH]
static bsl::size_t size(TYPE(&array)[LENGTH])
Definition bdlb_arrayutil.h:343