3#ifndef TETL_ARRAY_UNINITIALIZED_ARRAY_HPP
4#define TETL_ARRAY_UNINITIALIZED_ARRAY_HPP
24template <
typename T, etl::
size_t Size>
30 [[nodiscard]]
constexpr auto data() const noexcept -> T const* {
return reinterpret_cast<T const*
>(_storage); }
32 [[nodiscard]]
constexpr auto data() noexcept -> T* {
return reinterpret_cast<T*
>(_storage); }
34 [[nodiscard]]
static constexpr auto size() noexcept ->
etl::
size_t {
return Size; }
40template <etl::detail::sufficiently_trivial T, etl::
size_t Size>
47 [[nodiscard]]
constexpr auto data() const noexcept -> T const* {
return static_cast<T const*
>(_storage); }
49 [[nodiscard]]
constexpr auto data() noexcept -> T* {
return static_cast<T*
>(_storage); }
51 [[nodiscard]]
static constexpr auto size() noexcept ->
etl::
size_t {
return Size; }
57template <
typename T, etl::
size_t Size>
59struct uninitialized_array<T, Size> {
64 [[nodiscard]]
constexpr auto data() const noexcept -> T const* {
return nullptr; }
66 [[nodiscard]]
constexpr auto data() noexcept -> T* {
return nullptr; }
68 [[nodiscard]]
static constexpr auto size() noexcept ->
etl::
size_t {
return 0; }
#define TETL_NO_UNIQUE_ADDRESS
Definition attributes.hpp:41
ValueType[Size] c_array
Definition c_array.hpp:12
Definition adjacent_find.hpp:8
constexpr bool is_trivially_destructible_v
Definition is_trivially_destructible.hpp:33
constexpr bool is_trivially_default_constructible_v
Definition is_trivially_default_constructible.hpp:26
constexpr uninitialized_array()=default
constexpr auto data() const noexcept -> T const *
Definition uninitialized_array.hpp:47
constexpr auto data() noexcept -> T *
Definition uninitialized_array.hpp:49
static constexpr auto size() noexcept -> etl::size_t
Definition uninitialized_array.hpp:51
T value_type
Definition uninitialized_array.hpp:43
constexpr uninitialized_array()=default
constexpr auto data() const noexcept -> T const *
Definition uninitialized_array.hpp:30
constexpr auto data() noexcept -> T *
Definition uninitialized_array.hpp:32
static constexpr auto size() noexcept -> etl::size_t
Definition uninitialized_array.hpp:34
T value_type
Definition uninitialized_array.hpp:26