1 // Copyright The OpenTelemetry Authors
2 // SPDX-License-Identifier: Apache-2.0
6 #include "opentelemetry/version.h"
11 OPENTELEMETRY_BEGIN_NAMESPACE
12 // Standard Type aliases in nostd namespace
17 // Backport of std::data
19 // See https://en.cppreference.com/w/cpp/iterator/data
22 auto data(C
&c
) noexcept(noexcept(c
.data())) -> decltype(c
.data())
28 auto data(const C
&c
) noexcept(noexcept(c
.data())) -> decltype(c
.data())
33 template <class T
, std::size_t N
>
34 T
*data(T (&array
)[N
]) noexcept
40 const E
*data(std::initializer_list
<E
> list
) noexcept
46 // Backport of std::size
48 // See https://en.cppreference.com/w/cpp/iterator/size
51 auto size(const C
&c
) noexcept(noexcept(c
.size())) -> decltype(c
.size())
56 template <class T
, std::size_t N
>
57 std::size_t size(T (&array
)[N
]) noexcept
62 template <std::size_t N
>
63 using make_index_sequence
= std::make_index_sequence
<N
>;
65 template <std::size_t... Ints
>
66 using index_sequence
= std::index_sequence
<Ints
...>;
69 OPENTELEMETRY_END_NAMESPACE