- // Support iteration.
- typedef typename SmallVector<T, N>::const_iterator iterator;
- typedef typename SmallVector<T, N>::const_iterator const_iterator;
-
- iterator begin() const { return Vector.begin(); }
- iterator end() const { return Vector.end(); }
-
- bool empty() const { return Vector.empty(); }
- unsigned size() const { return Vector.size(); }
-
- iterator find(const T &V) const {
- for (iterator I = begin(), E = end(); I != E; ++I)
- if (*I == V)
- return I;
- return end();
+ bool empty() const { return Vector.empty() && Set.empty(); }
+ unsigned size() const {
+ return isSmall() ? Vector.size() : Set.size();