Lines Matching refs:T
40 template <typename T>
43 using value_type = T;
44 using reference = T&;
45 using const_reference = const T&;
46 using pointer = T*;
47 using const_pointer = const T*;
48 using iterator = T*;
49 using const_iterator = const T*;
62 explicit constexpr ArrayRef(T (&array)[size]) in ArrayRef()
68 typename = std::enable_if_t<std::is_same_v<T, const U>>>
73 constexpr ArrayRef(T* array, size_t size) in ArrayRef()
101 std::enable_if_t<std::is_same_v<T, const U>, ArrayRef>&
108 return ArrayRef(reinterpret_cast<const T*>(src.data()), in Cast()
109 src.size() * sizeof(T) / sizeof(U)); in Cast()
172 ArrayRef<const T> SubArray(size_type pos) const { in SubArray()
182 ArrayRef<const T> SubArray(size_type pos, size_type length) const { in SubArray()
185 return ArrayRef<const T>(data() + pos, length); in SubArray()
189 T* array_;
193 template <typename T>
194 bool operator==(const ArrayRef<T>& lhs, const ArrayRef<T>& rhs) {
198 template <typename T>
199 bool operator!=(const ArrayRef<T>& lhs, const ArrayRef<T>& rhs) {
203 template<typename T>
204 std::ostream& operator<<(std::ostream& os, const ArrayRef<T>& ts) {
207 for (const T& t : ts) {