Template Class SmallVectorTemplateCommon

Inheritance Relationships

Base Type

Derived Types

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 T value_type
typedef T *iterator
typedef const T *const_iterator
typedef std::reverse_iterator<const_iterator> const_reverse_iterator
typedef std::reverse_iterator<iterator> reverse_iterator
typedef T &reference
typedef const T &const_reference
typedef T *pointer
typedef const T *const_pointer

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_type max_size() const
inline size_t capacity() const

Return the total number of elements in the currently allocated buffer.

inline pointer data()

Return a pointer to the vector’s buffer, even if empty().

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 reference front()
inline const_reference front() const
inline reference back()
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 void setEnd(T *P)
inline iterator capacity_ptr()
inline const_iterator capacity_ptr() const