42 if (isNonOwning() &&
index == 0) {
43 nonOwning = nonOwning.drop_front();
44 }
else if (isNonOwning() &&
index ==
size() - 1) {
45 nonOwning = nonOwning.drop_back();
59 return nonOwning.empty() ?
ArrayRef<T>(owningStorage) : nonOwning;
63 bool isNonOwning()
const {
return !nonOwning.empty(); }
65 SmallVector<T> &ensureCopy() {
71 owningStorage = SmallVector<T>(nonOwning);
77 ArrayRef<T> nonOwning;
78 SmallVector<T> owningStorage;