Lines Matching defs:ArrayRef
30 * @details The template class ArrayRef provides a container that references
31 * an external array. This external array must remain alive while the ArrayRef
41 class ArrayRef {
60 constexpr ArrayRef()
65 explicit constexpr ArrayRef(T (&array)[size])
70 explicit constexpr ArrayRef(U (&array)[size],
76 constexpr ArrayRef(T* array_in, size_t size_in)
83 explicit ArrayRef(Vector& v)
92 explicit ArrayRef(const Vector& v)
96 ArrayRef(const ArrayRef&) = default;
100 ArrayRef& operator=(const ArrayRef& other) {
107 typename std::enable_if<std::is_same<T, const U>::value, ArrayRef>::type&
108 operator=(const ArrayRef<U>& other) {
109 return *this = ArrayRef(other);
113 ~ArrayRef() = default;
168 ArrayRef SubArray(size_type pos) const {
171 ArrayRef SubArray(size_type pos, size_type length) const {
174 return ArrayRef(array_ + pos, length);
183 bool operator==(const ArrayRef<T>& lhs, const ArrayRef<T>& rhs) {
188 bool operator!=(const ArrayRef<T>& lhs, const ArrayRef<T>& rhs) {