reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/ADT/ArrayRef.h
   43     using iterator = const T *;
   44     using const_iterator = const T *;
   50     const T *Data = nullptr;
   66     /*implicit*/ ArrayRef(const T &OneElt)
   70     /*implicit*/ ArrayRef(const T *data, size_t length)
   74     ArrayRef(const T *begin, const T *end)
   74     ArrayRef(const T *begin, const T *end)
   81     /*implicit*/ ArrayRef(const SmallVectorTemplateCommon<T, U> &Vec)
   87     /*implicit*/ ArrayRef(const std::vector<T, A> &Vec)
   92     /*implicit*/ constexpr ArrayRef(const std::array<T, N> &Arr)
   97     /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
  100     /*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
  145     const T *data() const { return Data; }
  151     const T &front() const {
  157     const T &back() const {
  163     template <typename Allocator> ArrayRef<T> copy(Allocator &A) {
  164       T *Buff = A.template Allocate<T>(Length);
  164       T *Buff = A.template Allocate<T>(Length);
  166       return ArrayRef<T>(Buff, Length);
  178     ArrayRef<T> slice(size_t N, size_t M) const {
  180       return ArrayRef<T>(data()+N, M);
  184     ArrayRef<T> slice(size_t N) const { return slice(N, size() - N); }
  187     ArrayRef<T> drop_front(size_t N = 1) const {
  193     ArrayRef<T> drop_back(size_t N = 1) const {
  200     template <class PredicateT> ArrayRef<T> drop_while(PredicateT Pred) const {
  201       return ArrayRef<T>(find_if_not(*this, Pred), end());
  206     template <class PredicateT> ArrayRef<T> drop_until(PredicateT Pred) const {
  207       return ArrayRef<T>(find_if(*this, Pred), end());
  211     ArrayRef<T> take_front(size_t N = 1) const {
  218     ArrayRef<T> take_back(size_t N = 1) const {
  226     template <class PredicateT> ArrayRef<T> take_while(PredicateT Pred) const {
  227       return ArrayRef<T>(begin(), find_if_not(*this, Pred));
  232     template <class PredicateT> ArrayRef<T> take_until(PredicateT Pred) const {
  233       return ArrayRef<T>(begin(), find_if(*this, Pred));
  239     const T &operator[](size_t Index) const {
  249     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  257     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  263     std::vector<T> vec() const {
  264       return std::vector<T>(Data, Data+Length);
  270     operator std::vector<T>() const {
  271       return std::vector<T>(Data, Data+Length);