Lines Matching defs:array
19 template <class T, size_t N> struct array { struct
23 T Data[N];
24 using value_type = T;
25 using iterator = T *;
26 using const_iterator = const T *;
27 using reverse_iterator = cpp::reverse_iterator<iterator>;
28 using const_reverse_iterator = cpp::reverse_iterator<const_iterator>;
30 LIBC_INLINE constexpr T *data() { return Data; } in data()
31 LIBC_INLINE constexpr const T *data() const { return Data; } in data()
33 LIBC_INLINE constexpr T &front() { return Data[0]; } in front()
34 LIBC_INLINE constexpr const T &front() const { return Data[0]; } in front()
36 LIBC_INLINE constexpr T &back() { return Data[N - 1]; } in back()
37 LIBC_INLINE constexpr const T &back() const { return Data[N - 1]; } in back()
45 LIBC_INLINE constexpr size_t size() const { return N; } in size()
47 LIBC_INLINE constexpr bool empty() const { return N == 0; } in empty()
49 LIBC_INLINE constexpr iterator begin() { return Data; } in begin()
50 LIBC_INLINE constexpr const_iterator begin() const { return Data; } in begin()
51 LIBC_INLINE constexpr const_iterator cbegin() const { return begin(); } in cbegin()
53 LIBC_INLINE constexpr iterator end() { return Data + N; } in end()
54 LIBC_INLINE constexpr const_iterator end() const { return Data + N; } in end()
55 LIBC_INLINE constexpr const_iterator cend() const { return end(); } in cend()
57 LIBC_INLINE constexpr reverse_iterator rbegin() { in rbegin()
60 LIBC_INLINE constexpr const_reverse_iterator rbegin() const { in rbegin()
63 LIBC_INLINE constexpr const_reverse_iterator crbegin() const { in crbegin()
67 LIBC_INLINE constexpr reverse_iterator rend() { in rend()
70 LIBC_INLINE constexpr const_reverse_iterator rend() const { in rend()
73 LIBC_INLINE constexpr const_reverse_iterator crend() const { return rend(); } in crend()