|
| | SmallString ()=default |
| | Default ctor - Initialize to empty.
|
| |
| | SmallString (std::string_view S) |
| | Initialize from a std::string_view.
|
| |
| | SmallString (std::initializer_list< std::string_view > Refs) |
| | Initialize by concatenating a list of std::string_views.
|
| |
| template<typename ItTy > |
| | SmallString (ItTy S, ItTy E) |
| | Initialize with a range.
|
| |
| std::string_view | str () const |
| | Explicit conversion to std::string_view.
|
| |
| const char * | c_str () |
| |
| | operator std::string_view () const |
| | Implicit conversion to std::string_view.
|
| |
| | operator std::string () const |
| |
| SmallString & | operator= (std::string_view RHS) |
| |
| SmallString & | operator+= (std::string_view RHS) |
| |
| SmallString & | operator+= (char C) |
| |
|
| void | assign (std::string_view RHS) |
| | Assign from a std::string_view.
|
| |
| void | assign (std::initializer_list< std::string_view > Refs) |
| | Assign from a list of std::string_views.
|
| |
|
| void | append (std::string_view RHS) |
| | Append from a std::string_view.
|
| |
| void | append (std::initializer_list< std::string_view > Refs) |
| | Append from a list of std::string_views.
|
| |
|
| int | compare (std::string_view RHS) const |
| | compare - Compare two strings; the result is negative, zero, or positive if this string is lexicographically less than, equal to, or greater than the RHS.
|
| |
|
| size_t | find (char C, size_t From=0) const |
| | find - Search for the first character C in the string.
|
| |
| size_t | find (std::string_view Str, size_t From=0) const |
| | Search for the first string Str in the string.
|
| |
| size_t | rfind (char C, size_t From=std::string_view::npos) const |
| | Search for the last character C in the string.
|
| |
| size_t | rfind (std::string_view Str) const |
| | Search for the last string Str in the string.
|
| |
| size_t | find_first_of (char C, size_t From=0) const |
| | Find the first character in the string that is C, or npos if not found.
|
| |
| size_t | find_first_of (std::string_view Chars, size_t From=0) const |
| | Find the first character in the string that is in Chars, or npos if not found.
|
| |
| size_t | find_first_not_of (char C, size_t From=0) const |
| | Find the first character in the string that is not C or npos if not found.
|
| |
| size_t | find_first_not_of (std::string_view Chars, size_t From=0) const |
| | Find the first character in the string that is not in the string Chars, or npos if not found.
|
| |
| size_t | find_last_of (char C, size_t From=std::string_view::npos) const |
| | Find the last character in the string that is C, or npos if not found.
|
| |
| size_t | find_last_of (std::string_view Chars, size_t From=std::string_view::npos) const |
| | Find the last character in the string that is in C, or npos if not found.
|
| |
| | SmallVector () |
| |
| | SmallVector (size_t Size) |
| |
| | SmallVector (size_t Size, const char &Value) |
| |
| | SmallVector (ItTy S, ItTy E) |
| |
| | SmallVector (const iterator_range< RangeTy > &R) |
| |
| | SmallVector (std::initializer_list< char > IL) |
| |
| | SmallVector (std::span< const U > A) |
| |
| | SmallVector (const SmallVector &RHS) |
| |
| | SmallVector (SmallVector &&RHS) |
| |
| | SmallVector (SmallVectorImpl< char > &&RHS) |
| |
| | ~SmallVector () |
| |
| SmallVector & | operator= (const SmallVector &RHS) |
| |
| SmallVector & | operator= (SmallVector &&RHS) |
| |
| SmallVector & | operator= (SmallVectorImpl< char > &&RHS) |
| |
| SmallVector & | operator= (std::initializer_list< char > IL) |
| |
| | SmallVectorImpl (const SmallVectorImpl &)=delete |
| |
| void | clear () |
| |
| void | resize (size_type N) |
| |
| void | resize (size_type N, ValueParamT NV) |
| |
| void | resize_for_overwrite (size_type N) |
| | Like resize, but T is POD, the new values won't be initialized.
|
| |
| void | truncate (size_type N) |
| | Like resize, but requires that N is less than size().
|
| |
| void | reserve (size_type N) |
| |
| void | pop_back_n (size_type NumItems) |
| |
| char | pop_back_val () |
| |
| void | swap (SmallVectorImpl &RHS) |
| |
| void | append (ItTy in_start, ItTy in_end) |
| | Add the specified range to the end of the SmallVector.
|
| |
| void | append (size_type NumInputs, ValueParamT Elt) |
| | Append NumInputs copies of Elt to the end.
|
| |
| void | append (std::initializer_list< char > IL) |
| |
| void | append (const SmallVectorImpl &RHS) |
| |
| void | assign (size_type NumElts, ValueParamT Elt) |
| |
| void | assign (ItTy in_start, ItTy in_end) |
| |
| void | assign (std::initializer_list< char > IL) |
| |
| void | assign (const SmallVectorImpl &RHS) |
| |
| iterator | erase (const_iterator CI) |
| |
| iterator | erase (const_iterator CS, const_iterator CE) |
| |
| iterator | insert (iterator I, char &&Elt) |
| |
| iterator | insert (iterator I, const char &Elt) |
| |
| iterator | insert (iterator I, size_type NumToInsert, ValueParamT Elt) |
| |
| iterator | insert (iterator I, ItTy From, ItTy To) |
| |
| void | insert (iterator I, std::initializer_list< char > IL) |
| |
| reference | emplace_back (ArgTypes &&... Args) |
| |
| SmallVectorImpl & | operator= (const SmallVectorImpl &RHS) |
| |
| SmallVectorImpl & | operator= (SmallVectorImpl &&RHS) |
| |
| bool | operator== (const SmallVectorImpl &RHS) const |
| |
| bool | operator!= (const SmallVectorImpl &RHS) const |
| |
| bool | operator< (const SmallVectorImpl &RHS) const |
| |
| bool | operator> (const SmallVectorImpl &RHS) const |
| |
| bool | operator<= (const SmallVectorImpl &RHS) const |
| |
| bool | operator>= (const SmallVectorImpl &RHS) const |
| |
| void | push_back (const char &Elt) |
| |
| void | push_back (char &&Elt) |
| |
| void | pop_back () |
| |
| iterator | begin () |
| |
| const_iterator | begin () const |
| |
| iterator | end () |
| |
| const_iterator | end () const |
| |
| reverse_iterator | rbegin () |
| |
| const_reverse_iterator | rbegin () const |
| |
| reverse_iterator | rend () |
| |
| const_reverse_iterator | rend () const |
| |
| size_type | size_in_bytes () const |
| |
| size_type | max_size () const |
| |
| size_t | capacity_in_bytes () const |
| |
| pointer | data () |
| | Return a pointer to the vector's buffer, even if empty().
|
| |
| const_pointer | data () const |
| | Return a pointer to the vector's buffer, even if empty().
|
| |
| reference | operator[] (size_type idx) |
| |
| const_reference | operator[] (size_type idx) const |
| |
| reference | front () |
| |
| const_reference | front () const |
| |
| reference | back () |
| |
| const_reference | back () const |
| |
| size_t | capacity () const |
| |
| bool | empty () const |
| |
| size_t | size () const |
| |
| size_t | size () const |
| |
| size_t | capacity () const |
| |
| bool | empty () const |
| |
|
| using | iterator |
| |
| using | const_iterator |
| |
| using | reference |
| |
| using | size_type |
| |
| using | size_type |
| |
| using | difference_type |
| |
| using | value_type |
| |
| using | iterator |
| |
| using | const_iterator |
| |
| using | const_reverse_iterator |
| |
| using | reverse_iterator |
| |
| using | reference |
| |
| using | const_reference |
| |
| using | pointer |
| |
| using | const_pointer |
| |
| using | ValueParamT |
| |
| using | ValueParamT |
| |
| | SmallVectorImpl (unsigned N) |
| |
| void | assignRemote (SmallVectorImpl &&RHS) |
| |
| | ~SmallVectorImpl () |
| |
| | SmallVectorTemplateBase (size_t Size) |
| |
| void | grow (size_t MinSize=0) |
| | Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory.
|
| |
| char * | mallocForGrow (size_t MinSize, size_t &NewCapacity) |
| | Create a new allocation big enough for MinSize and pass back its size in NewCapacity.
|
| |
| void | moveElementsForGrow (char *NewElts) |
| | Move existing elements over to the new allocation NewElts, the middle section of grow().
|
| |
| void | takeAllocationForGrow (char *NewElts, size_t NewCapacity) |
| | Transfer ownership of the allocation, finishing up grow().
|
| |
| const char * | reserveForParamAndGetAddress (const char &Elt, size_t N=1) |
| | Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
|
| |
| char * | reserveForParamAndGetAddress (char &Elt, size_t N=1) |
| | Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
|
| |
| void | growAndAssign (size_t NumElts, const char &Elt) |
| |
| char & | growAndEmplaceBack (ArgTypes &&... Args) |
| |
| void * | getFirstEl () const |
| | Find the address of the first element.
|
| |
| | SmallVectorTemplateCommon (size_t Size) |
| |
| void | grow_pod (size_t MinSize, size_t TSize) |
| |
| bool | isSmall () const |
| | Return true if this is a smallvector which has not had dynamic memory allocated for it.
|
| |
| void | resetToSmall () |
| | Put this vector in a state of being small.
|
| |
| bool | isReferenceToRange (const void *V, const void *First, const void *Last) const |
| | Return true if V is an internal reference to the given range.
|
| |
| bool | isReferenceToStorage (const void *V) const |
| | Return true if V is an internal reference to this vector.
|
| |
| bool | isRangeInStorage (const void *First, const void *Last) const |
| | Return true if First and Last form a valid (possibly empty) range in this vector's storage.
|
| |
| bool | isSafeToReferenceAfterResize (const void *Elt, size_t NewSize) |
| | Return true unless Elt will be invalidated by resizing the vector to NewSize.
|
| |
| void | assertSafeToReferenceAfterResize (const void *Elt, size_t NewSize) |
| | Check whether Elt will be invalidated by resizing the vector to NewSize.
|
| |
| void | assertSafeToAdd (const void *Elt, size_t N=1) |
| | Check whether Elt will be invalidated by increasing the size of the vector by N.
|
| |
| void | assertSafeToReferenceAfterClear (const char *From, const char *To) |
| | Check whether any part of the range will be invalidated by clearing.
|
| |
| void | assertSafeToReferenceAfterClear (ItTy, ItTy) |
| |
| void | assertSafeToAddRange (const char *From, const char *To) |
| | Check whether any part of the range will be invalidated by growing.
|
| |
| void | assertSafeToAddRange (ItTy, ItTy) |
| |
| | SmallVectorBase ()=delete |
| |
| | SmallVectorBase (void *FirstEl, size_t TotalCapacity) |
| |
| void * | mallocForGrow (void *FirstEl, size_t MinSize, size_t TSize, size_t &NewCapacity) |
| | This is a helper for grow() that's out of line to reduce code duplication.
|
| |
| void | grow_pod (void *FirstEl, size_t MinSize, size_t TSize) |
| | This is an implementation of the grow() method which only works on POD-like data types and is out of line to reduce code duplication.
|
| |
| void * | replaceAllocation (void *NewElts, size_t TSize, size_t NewCapacity, size_t VSize=0) |
| | If vector was first created with capacity 0, getFirstEl() points to the memory right after, an area unallocated.
|
| |
| void | set_size (size_t N) |
| | Set the array size to N, which the current array must have enough capacity for.
|
| |
| void | set_allocation_range (void *Begin, size_t N) |
| | Set the array data pointer to Begin and capacity to N.
|
| |
| static void | destroy_range (char *S, char *E) |
| |
| static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
| | Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.
|
| |
| static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
| | Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed.
|
| |
| static char && | forward_value_param (char &&V) |
| |
| static const char & | forward_value_param (const char &V) |
| |
| static const char * | reserveForParamAndGetAddressImpl (U *This, const char &Elt, size_t N) |
| | Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
|
| |
| static constexpr size_t | SizeTypeMax () |
| | The maximum value of the unsigned used.
|
| |
| void * | BeginX |
| |
| unsigned | Size = 0 |
| |
| unsigned | Capacity |
| |
| static constexpr bool | TakesParamByValue |
| |
template<unsigned InternalLen>
class wpi::SmallString< InternalLen >
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better as a string (e.g.
operator+ etc).