LLVM: llvm::SmallString< InternalLen > Class Template Reference (original) (raw)
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](SmallString%5F8h%5Fsource.html)"
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) |
![]() |
|
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 (ArrayRef< 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_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 | resize (size_type N, ValueParamT NV) |
void | reserve (size_type N) |
void | pop_back_n (size_type NumItems) |
T | pop_back_val () |
void | swap (SmallVectorImpl &RHS) |
template<typename ItTy , typename = EnableIfConvertibleToInputIterator> | |
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< T > IL) |
void | append (const SmallVectorImpl &RHS) |
void | assign (size_type NumElts, ValueParamT Elt) |
template<typename ItTy , typename = EnableIfConvertibleToInputIterator> | |
void | assign (ItTy in_start, ItTy in_end) |
void | assign (std::initializer_list< T > IL) |
void | assign (const SmallVectorImpl &RHS) |
iterator | erase (const_iterator CI) |
iterator | erase (const_iterator CS, const_iterator CE) |
iterator | insert (iterator I, T &&Elt) |
iterator | insert (iterator I, const T &Elt) |
iterator | insert (iterator I, size_type NumToInsert, ValueParamT Elt) |
template<typename ItTy , typename = EnableIfConvertibleToInputIterator> | |
iterator | insert (iterator I, ItTy From, ItTy To) |
void | insert (iterator I, std::initializer_list< T > IL) |
template<typename... ArgTypes> | |
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 T &Elt) |
void | push_back (T &&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 | size () const |
size_t | capacity () const |
bool | empty () const |
Additional Inherited Members | |
---|---|
![]() |
|
using | iterator = typename SuperClass::iterator |
using | const_iterator = typename SuperClass::const_iterator |
using | reference = typename SuperClass::reference |
using | size_type = typename SuperClass::size_type |
![]() |
|
using | size_type = size_t |
using | difference_type = ptrdiff_t |
using | value_type = T |
using | iterator = T * |
using | const_iterator = const T * |
using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
using | reverse_iterator = std::reverse_iterator< iterator > |
using | reference = T & |
using | const_reference = const T & |
using | pointer = T * |
using | const_pointer = const T * |
![]() |
|
using | ValueParamT = typename SuperClass::ValueParamT |
![]() |
|
using | ValueParamT = const T & |
![]() |
|
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. | |
T * | mallocForGrow (size_t MinSize, size_t &NewCapacity) |
Create a new allocation big enough for MinSize and pass back its size in NewCapacity. | |
void | moveElementsForGrow (T *NewElts) |
Move existing elements over to the new allocation NewElts, the middle section of grow(). | |
void | takeAllocationForGrow (T *NewElts, size_t NewCapacity) |
Transfer ownership of the allocation, finishing up grow(). | |
const T * | reserveForParamAndGetAddress (const T &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. | |
T * | reserveForParamAndGetAddress (T &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 T &Elt) |
template<typename... ArgTypes> | |
T & | 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 T *From, const T *To) |
Check whether any part of the range will be invalidated by clearing. | |
template<class ItTy , std::enable_if_t<!std::is_same< std::remove_const_t< ItTy >, T * >::value, bool > = false> | |
void | assertSafeToReferenceAfterClear (ItTy, ItTy) |
void | assertSafeToAddRange (const T *From, const T *To) |
Check whether any part of the range will be invalidated by growing. | |
template<class ItTy , std::enable_if_t<!std::is_same< std::remove_const_t< ItTy >, T * >::value, bool > = false> | |
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 | 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 (T *S, T *E) |
template<typename It1 , typename It2 > | |
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. | |
template<typename It1 , typename It2 > | |
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 T && | forward_value_param (T &&V) |
static const T & | forward_value_param (const T &V) |
![]() |
|
template | |
static const T * | reserveForParamAndGetAddressImpl (U *This, const T &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 Size_T used. | |
![]() |
|
void * | BeginX |
SmallVectorSizeType< T > | Size |
SmallVectorSizeType< T > | Capacity |
![]() |
|
static constexpr bool | TakesParamByValue = false |
template<unsigned InternalLen>
class llvm::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).
Definition at line 26 of file SmallString.h.
Default ctor - Initialize to empty.
◆ SmallString() [2/4]
◆ SmallString() [3/4]
◆ SmallString() [4/4]
◆ append() [1/2]
◆ append() [2/2]
Append from a StringRef.
Definition at line 68 of file SmallString.h.
References llvm::SmallVectorImpl< T >::append(), and RHS.
Referenced by llvm::SmallString< InternalLen >::assign(), llvm::createCFAOffset(), createDefCFAExpression(), createDefCFAOffset(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitPrologue(), ExpandBasePaths(), llvm::object::Record::getContinuousData(), llvm::MCContext::getELFSection(), llvm::unittest::getInputFileDirectory(), llvm::OpenMPIRBuilder::getOrCreateSrcLocStr(), llvm::GCNTargetMachine::getSubtargetImpl(), llvm::R600TargetMachine::getSubtargetImpl(), llvm::TargetLoweringObjectFile::getSymbolWithGlobalValueBase(), llvm::sys::unicode::nameToGeneratedCodePoint(), llvm::sys::unicode::nameToHangulCodePoint(), llvm::sys::path::native(), llvm::SmallString< InternalLen >::operator+=(), parseBackslash(), llvm::codegen::setFunctionAttributes(), and llvm::SmallString< InternalLen >::SmallString().
◆ assign() [1/2]
◆ assign() [2/2]
◆ c_str()
Definition at line 259 of file SmallString.h.
References llvm::SmallVectorTemplateCommon< T, typename >::data(), llvm::SmallVectorTemplateBase< T, bool >::pop_back(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm:🆑:ExpansionContext::expandResponseFiles(), llvm::DotCfgChangeReporter::genHTML(), llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData(), getVFSEntries(), printSymbolizedStackTrace(), llvm::DotCfgChangeReporter::registerCallbacks(), llvm::LockFileManager::waitForUnlock(), and llvm::ThinLTOCodeGenerator::writeGeneratedObject().
◆ compare()
◆ compare_insensitive()
◆ compare_numeric()
◆ count() [1/2]
◆ count() [2/2]
◆ ends_with()
◆ equals()
◆ equals_insensitive()
◆ find() [1/2]
◆ find() [2/2]
◆ find_first_not_of() [1/2]
◆ find_first_not_of() [2/2]
◆ find_first_of() [1/2]
◆ find_first_of() [2/2]
◆ find_last_of() [1/2]
◆ find_last_of() [2/2]
◆ operator std::string()
◆ operator StringRef()
◆ operator+=() [1/2]
◆ operator+=() [2/2]
◆ operator=()
◆ rfind() [1/2]
◆ rfind() [2/2]
◆ slice()
◆ starts_with()
◆ str()
Explicit conversion to StringRef.
Definition at line 254 of file SmallString.h.
References llvm::SmallVectorTemplateCommon< T, typename >::data(), and llvm::SmallVectorBase< SmallVectorSizeType< T > >::size().
Referenced by llvm::SmallString< InternalLen >::compare(), llvm::SmallString< InternalLen >::compare_insensitive(), llvm::SmallString< InternalLen >::compare_numeric(), llvm::SmallString< InternalLen >::count(), llvm::createCFAOffset(), createDefCFAExpression(), createDefCFAOffset(), llvm::dwarf_linker::parallel::TypeUnit::createDIETree(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), emitComments(), llvm::MCStreamer::emitIntValue(), emitPPA1Name(), llvm::X86FrameLowering::emitPrologue(), llvm::SmallString< InternalLen >::ends_with(), llvm::SmallString< InternalLen >::equals(), llvm::SmallString< InternalLen >::equals_insensitive(), ExpandBasePaths(), llvm::SmallString< InternalLen >::find(), llvm::SmallString< InternalLen >::find_first_not_of(), llvm::SmallString< InternalLen >::find_first_of(), llvm::SmallString< InternalLen >::find_last_of(), llvm::findVCToolChainViaSetupConfig(), llvm::MCCVDefRangeFragment::getFixedSizePortion(), llvm::OpenMPIRBuilder::getOrCreateSrcLocStr(), llvm::lto::getThinLTOOutputFile(), llvm::HTTPRequest::HTTPRequest(), llvm::LockFileManager::LockFileManager(), llvm::SmallString< InternalLen >::operator StringRef(), printSymbolizedStackTrace(), llvm:🆑:ExpansionContext::readConfigFile(), llvm::SmallString< InternalLen >::rfind(), llvm::AMDGPUSplitModulePass::run(), llvm::VFABI::setVectorVariantNames(), llvm::SmallString< InternalLen >::slice(), solveTypeName(), llvm::SPIRVTranslateModule(), splitCodeGen(), llvm::SmallString< InternalLen >::starts_with(), llvm::SmallString< InternalLen >::substr(), llvm:🆑:TokenizeGNUCommandLine(), and tokenizeWindowsCommandLineImpl().
◆ substr()
The documentation for this class was generated from the following file:
- include/llvm/ADT/SmallString.h