|
LLVM 22.0.0git
|
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better as a string (e.g. More...
#include "llvm/ADT/SmallString.h"
Public Member Functions | |
| SmallString ()=default | |
| Default ctor - Initialize to empty. | |
| SmallString (StringRef S) | |
| Initialize from a StringRef. | |
| SmallString (std::initializer_list< StringRef > Refs) | |
| Initialize by concatenating a list of StringRefs. | |
| template<typename ItTy> | |
| SmallString (ItTy S, ItTy E) | |
| Initialize with a range. | |
String Assignment | |
| void | assign (StringRef RHS) |
| Assign from a StringRef. | |
| void | assign (std::initializer_list< StringRef > Refs) |
| Assign from a list of StringRefs. | |
String Concatenation | |
| void | append (StringRef RHS) |
| Append from a StringRef. | |
| void | append (std::initializer_list< StringRef > Refs) |
| Append from a list of StringRefs. | |
String Comparison | |
| bool | equals (StringRef RHS) const |
| Check for string equality. | |
| bool | equals_insensitive (StringRef RHS) const |
| Check for string equality, ignoring case. | |
| int | compare (StringRef 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. | |
| int | compare_insensitive (StringRef RHS) const |
| compare_insensitive - Compare two strings, ignoring case. | |
| int | compare_numeric (StringRef RHS) const |
| compare_numeric - Compare two strings, treating sequences of digits as numbers. | |
String Predicates | |
| bool | starts_with (StringRef Prefix) const |
starts_with - Check if this string starts with the given Prefix. | |
| bool | ends_with (StringRef Suffix) const |
ends_with - Check if this string ends with the given Suffix. | |
String Searching | |
| size_t | find (char C, size_t From=0) const |
find - Search for the first character C in the string. | |
| size_t | find (StringRef Str, size_t From=0) const |
Search for the first string Str in the string. | |
| size_t | rfind (char C, size_t From=StringRef::npos) const |
Search for the last character C in the string. | |
| size_t | rfind (StringRef 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 (StringRef 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 (StringRef 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=StringRef::npos) const |
Find the last character in the string that is C, or npos if not found. | |
| size_t | find_last_of (StringRef Chars, size_t From=StringRef::npos) const |
Find the last character in the string that is in C, or npos if not found. | |
Helpful Algorithms | |
| size_t | count (char C) const |
Return the number of occurrences of C in the string. | |
| size_t | count (StringRef Str) const |
Return the number of non-overlapped occurrences of Str in the string. | |
Substring Operations | |
| StringRef | substr (size_t Start, size_t N=StringRef::npos) const |
| Return a reference to the substring from [Start, Start + N). | |
| StringRef | slice (size_t Start, size_t End) const |
| Return a reference to the substring from [Start, End). | |
| StringRef | str () const |
| Explicit conversion to StringRef. | |
| const char * | c_str () |
| operator StringRef () const | |
| Implicit conversion to StringRef. | |
| operator std::string () const | |
| SmallString & | operator= (StringRef RHS) |
| SmallString & | operator+= (StringRef RHS) |
| SmallString & | operator+= (char C) |
| Public Member Functions inherited from llvm::SmallVector< char, InternalLen > | |
| SmallVector () | |
| ~SmallVector () | |
| SmallVector & | operator= (const SmallVector &RHS) |
| Public Member Functions inherited from llvm::SmallVectorImpl< char > | |
| void | clear () |
| void | resize (size_type N) |
| 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 | assign (size_type NumElts, ValueParamT Elt) |
| iterator | erase (const_iterator CI) |
| iterator | insert (iterator I, char &&Elt) |
| reference | emplace_back (ArgTypes &&... Args) |
| SmallVectorImpl & | operator= (const 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 |
| Public Member Functions inherited from llvm::SmallVectorTemplateBase< char > | |
| void | push_back (const char &Elt) |
| void | pop_back () |
| Public Member Functions inherited from llvm::SmallVectorTemplateCommon< char > | |
| size_t | capacity () const |
| bool | empty () const |
| size_t | size () const |
| iterator | begin () |
| iterator | end () |
| reverse_iterator | rbegin () |
| reverse_iterator | rend () |
| 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(). | |
| reference | operator[] (size_type idx) |
| reference | front () |
| reference | back () |
| Public Member Functions inherited from llvm::SmallVectorBase< SmallVectorSizeType< char > > | |
| size_t | size () const |
| size_t | capacity () const |
| bool | empty () const |
Additional Inherited Members | |
| Public Types inherited from llvm::SmallVectorImpl< char > | |
| using | iterator |
| using | const_iterator |
| using | reference |
| using | size_type |
| Public Types inherited from llvm::SmallVectorTemplateCommon< char > | |
| 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 |
| Protected Types inherited from llvm::SmallVectorImpl< char > | |
| using | ValueParamT |
| Protected Types inherited from llvm::SmallVectorTemplateBase< char > | |
| using | ValueParamT |
| Protected Member Functions inherited from llvm::SmallVectorImpl< char > | |
| SmallVectorImpl (unsigned N) | |
| void | assignRemote (SmallVectorImpl &&RHS) |
| ~SmallVectorImpl () | |
| Protected Member Functions inherited from llvm::SmallVectorTemplateBase< char > | |
| 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. | |
| void | growAndAssign (size_t NumElts, const char &Elt) |
| char & | growAndEmplaceBack (ArgTypes &&... Args) |
| Protected Member Functions inherited from llvm::SmallVectorTemplateCommon< char > | |
| 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 (ItTy From, ItTy To) |
| Check whether any part of the range will be invalidated by clearing. | |
| void | assertSafeToAddRange (ItTy From, ItTy To) |
| Check whether any part of the range will be invalidated by growing. | |
| Protected Member Functions inherited from llvm::SmallVectorBase< SmallVectorSizeType< char > > | |
| SmallVectorBase ()=delete | |
| LLVM_ABI 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. | |
| LLVM_ABI 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 | 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 Protected Member Functions inherited from llvm::SmallVectorTemplateBase< char > | |
| 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 Protected Member Functions inherited from llvm::SmallVectorTemplateCommon< char > | |
| 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 Protected Member Functions inherited from llvm::SmallVectorBase< SmallVectorSizeType< char > > | |
| static constexpr size_t | SizeTypeMax () |
| The maximum value of the Size_T used. | |
| Protected Attributes inherited from llvm::SmallVectorBase< SmallVectorSizeType< char > > | |
| void * | BeginX |
| SmallVectorSizeType< char > | Size |
| SmallVectorSizeType< char > | Capacity |
| Static Protected Attributes inherited from llvm::SmallVectorTemplateBase< char > | |
| static constexpr bool | TakesParamByValue |
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better as a string (e.g.
operator+ etc).
Definition at line 26 of file SmallString.h.
|
default |
Default ctor - Initialize to empty.
|
inline |
Initialize from a StringRef.
Definition at line 32 of file SmallString.h.
|
inline |
Initialize by concatenating a list of StringRefs.
Definition at line 35 of file SmallString.h.
|
inline |
Initialize with a range.
Definition at line 42 of file SmallString.h.
|
inline |
Append from a list of StringRefs.
Definition at line 73 of file SmallString.h.
|
inline |
Append from a StringRef.
Definition at line 68 of file SmallString.h.
Referenced by llvm::SmallString< 0 >::assign(), llvm::cas::MappedFileRegionArena::create(), llvm::createCFAOffset(), createDefCFAExpression(), createDefCFAExpression(), createDefCFAOffset(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitPrologue(), ExpandBasePaths(), llvm::object::Record::getContinuousData(), llvm::MCContext::getELFSection(), llvm::unittest::getInputFileDirectory(), llvm::GCNTargetMachine::getSubtargetImpl(), llvm::R600TargetMachine::getSubtargetImpl(), llvm::TargetLoweringObjectFile::getSymbolWithGlobalValueBase(), HandleUnsupportedAnnotationKinds(), llvm::sys::unicode::nameToGeneratedCodePoint(), llvm::sys::unicode::nameToHangulCodePoint(), llvm::sys::path::native(), llvm::SmallString< 0 >::operator+=(), parseBackslash(), llvm::codegen::setFunctionAttributes(), and llvm::SmallString< 0 >::SmallString().
|
inline |
Assign from a list of StringRefs.
Definition at line 56 of file SmallString.h.
|
inline |
Assign from a StringRef.
Definition at line 51 of file SmallString.h.
Referenced by llvm::cl::ExpansionContext::findConfigFile(), llvm::SmallString< 0 >::operator=(), and llvm::cl::ExpansionContext::readConfigFile().
|
inline |
Definition at line 259 of file SmallString.h.
Referenced by collectAddressSymbols(), llvm::cl::ExpansionContext::expandResponseFiles(), llvm::DotCfgChangeReporter::genHTML(), llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData(), getVFSEntries(), llvm::DotCfgChangeReporter::registerCallbacks(), llvm::AMDGPU::ClusterDimsAttr::to_string(), and llvm::ThinLTOCodeGenerator::writeGeneratedObject().
|
inlinenodiscard |
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.
Definition at line 102 of file SmallString.h.
|
inlinenodiscard |
compare_insensitive - Compare two strings, ignoring case.
Definition at line 105 of file SmallString.h.
|
inlinenodiscard |
compare_numeric - Compare two strings, treating sequences of digits as numbers.
Definition at line 111 of file SmallString.h.
|
inlinenodiscard |
Return the number of occurrences of C in the string.
Definition at line 213 of file SmallString.h.
|
inlinenodiscard |
Return the number of non-overlapped occurrences of Str in the string.
Definition at line 217 of file SmallString.h.
|
inlinenodiscard |
ends_with - Check if this string ends with the given Suffix.
Definition at line 125 of file SmallString.h.
|
inlinenodiscard |
Check for string equality.
This is more efficient than compare() when the relative ordering of inequal strings isn't needed.
Definition at line 92 of file SmallString.h.
Referenced by getKnownEncoding().
|
inlinenodiscard |
Check for string equality, ignoring case.
Definition at line 95 of file SmallString.h.
|
inlinenodiscard |
find - Search for the first character C in the string.
C, or npos if not found. Definition at line 137 of file SmallString.h.
|
inlinenodiscard |
Search for the first string Str in the string.
Str, or npos if not found. Definition at line 145 of file SmallString.h.
|
inlinenodiscard |
Find the first character in the string that is not C or npos if not found.
Definition at line 179 of file SmallString.h.
|
inlinenodiscard |
Find the first character in the string that is not in the string Chars, or npos if not found.
Complexity: O(size() + Chars.size())
Definition at line 187 of file SmallString.h.
|
inlinenodiscard |
Find the first character in the string that is C, or npos if not found.
Same as find.
Definition at line 165 of file SmallString.h.
|
inlinenodiscard |
Find the first character in the string that is in Chars, or npos if not found.
Complexity: O(size() + Chars.size())
Definition at line 173 of file SmallString.h.
|
inlinenodiscard |
Find the last character in the string that is C, or npos if not found.
Definition at line 194 of file SmallString.h.
|
inlinenodiscard |
Find the last character in the string that is in C, or npos if not found.
Complexity: O(size() + Chars.size())
Definition at line 203 of file SmallString.h.
|
inlineexplicit |
Definition at line 268 of file SmallString.h.
|
inline |
Implicit conversion to StringRef.
Definition at line 266 of file SmallString.h.
|
inline |
Definition at line 282 of file SmallString.h.
|
inline |
Definition at line 278 of file SmallString.h.
|
inline |
Definition at line 273 of file SmallString.h.
|
inlinenodiscard |
Search for the last character C in the string.
C, or npos if not found. Definition at line 153 of file SmallString.h.
|
inlinenodiscard |
Search for the last string Str in the string.
Str, or npos if not found. Definition at line 161 of file SmallString.h.
|
inlinenodiscard |
Return a reference to the substring from [Start, End).
| Start | The index of the starting character in the substring; if the index is npos or greater than the length of the string then the empty substring will be returned. |
| End | The index following the last character to include in the substring. If this is npos, or less than Start, or exceeds the number of characters remaining in the string, the string suffix (starting with Start) will be returned. |
Definition at line 247 of file SmallString.h.
|
inlinenodiscard |
starts_with - Check if this string starts with the given Prefix.
Definition at line 120 of file SmallString.h.
Referenced by llvm::X86ATTInstPrinter::printExprOperand().
|
inlinenodiscard |
Explicit conversion to StringRef.
Definition at line 254 of file SmallString.h.
Referenced by collectAddressSymbols(), llvm::SmallString< 0 >::compare(), llvm::SmallString< 0 >::compare_insensitive(), llvm::SmallString< 0 >::compare_numeric(), llvm::SmallString< 0 >::count(), llvm::SmallString< 0 >::count(), llvm::createCFAOffset(), createDefCFAExpression(), createDefCFAExpression(), createDefCFAOffset(), llvm::dwarf_linker::parallel::TypeUnit::createDIETree(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), emitComments(), llvm::MCStreamer::emitIntValue(), emitPPA1Name(), llvm::X86FrameLowering::emitPrologue(), llvm::SmallString< 0 >::ends_with(), llvm::SmallString< 0 >::equals(), llvm::SmallString< 0 >::equals_insensitive(), ErrorFromHResult(), ExpandBasePaths(), llvm::SmallString< 0 >::find(), llvm::SmallString< 0 >::find(), llvm::SmallString< 0 >::find_first_not_of(), llvm::SmallString< 0 >::find_first_not_of(), llvm::SmallString< 0 >::find_first_of(), llvm::SmallString< 0 >::find_first_of(), llvm::SmallString< 0 >::find_last_of(), llvm::SmallString< 0 >::find_last_of(), llvm::findVCToolChainViaSetupConfig(), llvm::lto::getThinLTOOutputFile(), llvm::SmallString< 0 >::operator StringRef(), llvm::cl::ExpansionContext::readConfigFile(), llvm::SmallString< 0 >::rfind(), llvm::SmallString< 0 >::rfind(), llvm::AMDGPUSplitModulePass::run(), llvm::VFABI::setVectorVariantNames(), llvm::SmallString< 0 >::slice(), solveTypeName(), llvm::SPIRVTranslate(), splitCodeGen(), llvm::SmallString< 0 >::starts_with(), llvm::SmallString< 0 >::substr(), llvm::cl::TokenizeGNUCommandLine(), and tokenizeWindowsCommandLineImpl().
|
inlinenodiscard |
Return a reference to the substring from [Start, Start + N).
| Start | The index of the starting character in the substring; if the index is npos or greater than the length of the string then the empty substring will be returned. |
| N | The number of characters to included in the substring. If N exceeds the number of characters remaining in the string, the string suffix (starting with Start) will be returned. |
Definition at line 232 of file SmallString.h.