Template Class SmallVectorTemplateCommon
Defined in File SmallVector.h
Inheritance Relationships
Base Type
public llvm_vecsmall::SmallVectorBase(Class SmallVectorBase)
Derived Types
public llvm_vecsmall::SmallVectorTemplateBase< T, IsPod< T >::value >(Template Class SmallVectorTemplateBase)public llvm_vecsmall::SmallVectorTemplateBase< uint16_t, IsPod< uint16_t >::value >(Template Class SmallVectorTemplateBase)public llvm_vecsmall::SmallVectorTemplateBase< KeySuffix, IsPod< KeySuffix >::value >(Template Class SmallVectorTemplateBase)public llvm_vecsmall::SmallVectorTemplateBase< int, IsPod< int >::value >(Template Class SmallVectorTemplateBase)public llvm_vecsmall::SmallVectorTemplateBase< MemberScope, IsPod< MemberScope >::value >(Template Class SmallVectorTemplateBase)public llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >(Template Class SmallVectorTemplateBase)public llvm_vecsmall::SmallVectorTemplateBase< T, true >(Template Class SmallVectorTemplateBase< T, true >)
Class Documentation
-
template<typename T, typename = void>
class SmallVectorTemplateCommon : public llvm_vecsmall::SmallVectorBase This is the part of SmallVectorTemplateBase which does not depend on whether the type T is a POD. The extra dummy template argument is used by ArrayRef to avoid unnecessarily requiring T to be complete.
Subclassed by llvm_vecsmall::SmallVectorTemplateBase< T, IsPod< T >::value >, llvm_vecsmall::SmallVectorTemplateBase< uint16_t, IsPod< uint16_t >::value >, llvm_vecsmall::SmallVectorTemplateBase< KeySuffix, IsPod< KeySuffix >::value >, llvm_vecsmall::SmallVectorTemplateBase< int, IsPod< int >::value >, llvm_vecsmall::SmallVectorTemplateBase< MemberScope, IsPod< MemberScope >::value >, llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >, llvm_vecsmall::SmallVectorTemplateBase< T, true >
Public Types
-
typedef size_t size_type
-
typedef ptrdiff_t difference_type
-
typedef std::reverse_iterator<const_iterator> const_reverse_iterator
Public Functions
- inline LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE iterator begin ()
- inline LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_iterator begin () const
- inline LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE iterator end ()
- inline LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_iterator end () const
-
inline reverse_iterator rbegin()
-
inline const_reverse_iterator rbegin() const
-
inline reverse_iterator rend()
-
inline const_reverse_iterator rend() const
- inline LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE size_type size () const
-
inline size_t capacity() const
Return the total number of elements in the currently allocated buffer.
-
inline const_pointer data() const
Return a pointer to the vector’s buffer, even if empty().
- inline LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE reference operator[] (size_type idx)
- inline LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_reference operator[] (size_type idx) const
-
inline const_reference front() const
-
inline const_reference back() const
Protected Functions
-
inline SmallVectorTemplateCommon(size_t Size)
-
inline void grow_pod(size_t MinSizeInBytes, size_t TSize)
-
inline bool isSmall() const
Return true if this is a smallvector which has not had dynamic memory allocated for it.
-
inline void resetToSmall()
Put this vector in a state of being small.
-
inline const_iterator capacity_ptr() const
-
typedef size_t size_type