// An ArraySlice is an abstraction over an array or a part of an array of a particular type. It does // bounds checking and can be made from several common array-like structures in Art. template <typename T> class ArraySlice { public: using value_type = T; using reference = T&; using const_reference = const T&; using pointer = T*; using const_pointer = const T*; using iterator = StrideIterator<T>; using const_iterator = StrideIterator<const T>; using reverse_iterator = std::reverse_iterator<iterator>; using const_reverse_iterator = std::reverse_iterator<const_iterator>; using difference_type = ptrdiff_t; using size_type = size_t;
// Create an array slice of the first 'length' elements of the array, with each element being // element_size bytes long.
ArraySlice(T* array,
size_t length,
size_t element_size = sizeof(T))
: array_(array),
size_(dchecked_integral_cast<uint32_t>(length)),
element_size_(element_size) {
DCHECK(array_ != nullptr || length == 0);
}
template<typename T>
std::ostream& operator<<(std::ostream& os, const ArraySlice<T>& ts) { bool first = true;
os << "["; for (const T& t : ts) { if (!first) { os << ", "; }
first = false;
os << t;
}
os << "]"; return os;
}
} // namespace art
#endif// ART_LIBARTBASE_BASE_ARRAY_SLICE_H_
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.