LLVM
8.0.1
|
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. More... | |
SmallString (StringRef S) | |
Initialize from a StringRef. More... | |
template<typename ItTy > | |
SmallString (ItTy S, ItTy E) | |
Initialize with a range. More... | |
String Assignment | |
void | assign (size_t NumElts, char Elt) |
Assign from a repeated element. More... | |
template<typename in_iter > | |
void | assign (in_iter S, in_iter E) |
Assign from an iterator pair. More... | |
void | assign (StringRef RHS) |
Assign from a StringRef. More... | |
void | assign (const SmallVectorImpl< char > &RHS) |
Assign from a SmallVector. More... | |
String Concatenation | |
template<typename in_iter > | |
void | append (in_iter S, in_iter E) |
Append from an iterator pair. More... | |
void | append (size_t NumInputs, char Elt) |
void | append (StringRef RHS) |
Append from a StringRef. More... | |
void | append (const SmallVectorImpl< char > &RHS) |
Append from a SmallVector. More... | |
String Comparison | |
bool | equals (StringRef RHS) const |
Check for string equality. More... | |
bool | equals_lower (StringRef RHS) const |
Check for string equality, ignoring case. More... | |
int | compare (StringRef RHS) const |
Compare two strings; the result is -1, 0, or 1 if this string is lexicographically less than, equal to, or greater than the RHS . More... | |
int | compare_lower (StringRef RHS) const |
compare_lower - Compare two strings, ignoring case. More... | |
int | compare_numeric (StringRef RHS) const |
compare_numeric - Compare two strings, treating sequences of digits as numbers. More... | |
String Predicates | |
bool | startswith (StringRef Prefix) const |
startswith - Check if this string starts with the given Prefix . More... | |
bool | endswith (StringRef Suffix) const |
endswith - Check if this string ends with the given Suffix . More... | |
String Searching | |
size_t | find (char C, size_t From=0) const |
find - Search for the first character C in the string. More... | |
size_t | find (StringRef Str, size_t From=0) const |
Search for the first string Str in the string. More... | |
size_t | rfind (char C, size_t From=StringRef::npos) const |
Search for the last character C in the string. More... | |
size_t | rfind (StringRef Str) const |
Search for the last string Str in the string. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
Helpful Algorithms | |
size_t | count (char C) const |
Return the number of occurrences of C in the string. More... | |
size_t | count (StringRef Str) const |
Return the number of non-overlapped occurrences of Str in the string. More... | |
Substring Operations | |
StringRef | substr (size_t Start, size_t N=StringRef::npos) const |
Return a reference to the substring from [Start, Start + N). More... | |
StringRef | slice (size_t Start, size_t End) const |
Return a reference to the substring from [Start, End). More... | |
StringRef | str () const |
Explicit conversion to StringRef. More... | |
const char * | c_str () |
operator StringRef () const | |
Implicit conversion to StringRef. More... | |
const SmallString & | operator= (StringRef RHS) |
SmallString & | operator+= (StringRef RHS) |
SmallString & | operator+= (char C) |
Public Member Functions inherited from llvm::SmallVector< char, InternalLen > | |
SmallVector () | |
SmallVector (size_t Size, const char &Value=char()) | |
SmallVector (ItTy S, ItTy E) | |
SmallVector (const iterator_range< RangeTy > &R) | |
SmallVector (std::initializer_list< char > IL) | |
SmallVector (const SmallVector &RHS) | |
SmallVector (SmallVector &&RHS) | |
SmallVector (SmallVectorImpl< char > &&RHS) | |
~SmallVector () | |
const SmallVector & | operator= (const SmallVector &RHS) |
const SmallVector & | operator= (SmallVector &&RHS) |
const SmallVector & | operator= (SmallVectorImpl< char > &&RHS) |
const SmallVector & | operator= (std::initializer_list< char > IL) |
Public Member Functions inherited from llvm::SmallVectorImpl< char > | |
SmallVectorImpl (const SmallVectorImpl &)=delete | |
~SmallVectorImpl () | |
void | clear () |
void | resize (size_type N) |
void | resize (size_type N, const char &NV) |
void | reserve (size_type N) |
LLVM_NODISCARD char | pop_back_val () |
void | swap (SmallVectorImpl &RHS) |
void | append (in_iter in_start, in_iter in_end) |
Add the specified range to the end of the SmallVector. More... | |
void | append (size_type NumInputs, const char &Elt) |
Add the specified range to the end of the SmallVector. More... | |
void | append (std::initializer_list< char > IL) |
void | assign (size_type NumElts, const char &Elt) |
void | assign (in_iter in_start, in_iter in_end) |
void | assign (std::initializer_list< char > IL) |
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, const char &Elt) |
iterator | insert (iterator I, ItTy From, ItTy To) |
void | insert (iterator I, std::initializer_list< char > IL) |
void | 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 |
Public Member Functions inherited from llvm::SmallVectorTemplateBase< T, bool > | |
void | push_back (const T &Elt) |
void | push_back (T &&Elt) |
void | pop_back () |
Public Member Functions inherited from llvm::SmallVectorTemplateCommon< T > | |
LLVM_ATTRIBUTE_ALWAYS_INLINE iterator | begin () |
LLVM_ATTRIBUTE_ALWAYS_INLINE const_iterator | begin () const |
LLVM_ATTRIBUTE_ALWAYS_INLINE iterator | end () |
LLVM_ATTRIBUTE_ALWAYS_INLINE 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(). More... | |
const_pointer | data () const |
Return a pointer to the vector's buffer, even if empty(). More... | |
LLVM_ATTRIBUTE_ALWAYS_INLINE reference | operator[] (size_type idx) |
LLVM_ATTRIBUTE_ALWAYS_INLINE const_reference | operator[] (size_type idx) const |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
Public Member Functions inherited from llvm::SmallVectorBase | |
size_t | size () const |
size_t | capacity () const |
LLVM_NODISCARD bool | empty () const |
void | set_size (size_t Size) |
Set the array size to N , which the current array must have enough capacity for. More... | |
Additional Inherited Members | |
Public Types inherited from llvm::SmallVectorImpl< char > | |
using | iterator = typename SuperClass::iterator |
using | const_iterator = typename SuperClass::const_iterator |
using | size_type = typename SuperClass::size_type |
Public Types inherited from llvm::SmallVectorTemplateCommon< T > | |
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 * |
Protected Member Functions inherited from llvm::SmallVectorImpl< char > | |
SmallVectorImpl (unsigned N) | |
Protected Member Functions inherited from llvm::SmallVectorTemplateBase< T, bool > | |
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. More... | |
Protected Member Functions inherited from llvm::SmallVectorTemplateCommon< T > | |
SmallVectorTemplateCommon (size_t Size) | |
void | grow_pod (size_t MinCapacity, size_t TSize) |
bool | isSmall () const |
Return true if this is a smallvector which has not had dynamic memory allocated for it. More... | |
void | resetToSmall () |
Put this vector in a state of being small. More... | |
Protected Member Functions inherited from llvm::SmallVectorBase | |
SmallVectorBase ()=delete | |
SmallVectorBase (void *FirstEl, size_t Capacity) | |
void | grow_pod (void *FirstEl, size_t MinCapacity, 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. More... | |
Static Protected Member Functions inherited from llvm::SmallVectorTemplateBase< T, bool > | |
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. More... | |
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. More... | |
Protected Attributes inherited from llvm::SmallVectorBase | |
void * | BeginX |
unsigned | Size = 0 |
unsigned | Capacity |
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 with a range.
Definition at line 36 of file SmallString.h.
|
inline |
Append from an iterator pair.
Definition at line 75 of file SmallString.h.
Referenced by llvm::FileCheck::buildCheckPrefixRegex(), ExpandResponseFile(), getImplibPath(), llvm::unittest::getInputFileDirectory(), llvm::R600TargetMachine::getSubtargetImpl(), llvm::GCNTargetMachine::getSubtargetImpl(), mangleCoveragePath(), llvm::sys::path::native(), llvm::SmallString< 256 >::operator+=(), parseBackslash(), rotateSign(), llvm::HexagonTargetObjectFile::shouldPutJumpTableInFunctionSection(), and truncateToSize().
|
inline |
Definition at line 79 of file SmallString.h.
|
inline |
Append from a StringRef.
Definition at line 84 of file SmallString.h.
|
inline |
Append from a SmallVector.
Definition at line 89 of file SmallString.h.
|
inline |
Assign from a repeated element.
Definition at line 46 of file SmallString.h.
|
inline |
Assign from an iterator pair.
Definition at line 52 of file SmallString.h.
|
inline |
Assign from a StringRef.
Definition at line 58 of file SmallString.h.
|
inline |
Assign from a SmallVector.
Definition at line 64 of file SmallString.h.
|
inline |
Definition at line 270 of file SmallString.h.
Referenced by CrashHandler(), ExpandResponseFile(), getVFSEntries(), llvm::LTOModule::makeBuffer(), llvm::OProfileWrapper::OProfileWrapper(), printSymbolizedStackTrace(), llvm::write_double(), writeGeneratedObject(), and llvm::LTOCodeGenerator::writeMergedModules().
|
inline |
Compare two strings; the result is -1, 0, or 1 if this string is lexicographically less than, equal to, or greater than the RHS
.
Definition at line 110 of file SmallString.h.
|
inline |
compare_lower - Compare two strings, ignoring case.
Definition at line 115 of file SmallString.h.
|
inline |
compare_numeric - Compare two strings, treating sequences of digits as numbers.
Definition at line 121 of file SmallString.h.
|
inline |
Return the number of occurrences of C
in the string.
Definition at line 223 of file SmallString.h.
|
inline |
Return the number of non-overlapped occurrences of Str
in the string.
Definition at line 229 of file SmallString.h.
|
inline |
endswith - Check if this string ends with the given Suffix
.
Definition at line 135 of file SmallString.h.
|
inline |
Check for string equality.
This is more efficient than compare() when the relative ordering of inequal strings isn't needed.
Definition at line 99 of file SmallString.h.
Referenced by llvm::object::ExportEntry::operator==().
|
inline |
Check for string equality, ignoring case.
Definition at line 104 of file SmallString.h.
|
inline |
find - Search for the first character C
in the string.
C
, or npos if not found. Definition at line 147 of file SmallString.h.
|
inline |
Search for the first string Str
in the string.
Str
, or npos if not found. Definition at line 155 of file SmallString.h.
|
inline |
Find the first character in the string that is not C
or npos if not found.
Definition at line 191 of file SmallString.h.
|
inline |
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 199 of file SmallString.h.
|
inline |
Find the first character in the string that is C
, or npos if not found.
Same as find.
Definition at line 177 of file SmallString.h.
|
inline |
Find the first character in the string that is in Chars
, or npos if not found.
Complexity: O(size() + Chars.size())
Definition at line 185 of file SmallString.h.
|
inline |
Find the last character in the string that is C
, or npos if not found.
Definition at line 205 of file SmallString.h.
|
inline |
Find the last character in the string that is in C
, or npos if not found.
Complexity: O(size() + Chars.size())
Definition at line 213 of file SmallString.h.
|
inline |
Implicit conversion to StringRef.
Definition at line 277 of file SmallString.h.
|
inline |
Definition at line 285 of file SmallString.h.
|
inline |
Definition at line 289 of file SmallString.h.
|
inline |
Definition at line 280 of file SmallString.h.
|
inline |
Search for the last character C
in the string.
C
, or npos if not found. Definition at line 163 of file SmallString.h.
|
inline |
Search for the last string Str
in the string.
Str
, or npos if not found. Definition at line 171 of file SmallString.h.
|
inline |
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 260 of file SmallString.h.
Referenced by llvm::X86TargetMachine::getSubtargetImpl().
|
inline |
startswith - Check if this string starts with the given Prefix
.
Definition at line 130 of file SmallString.h.
|
inline |
Explicit conversion to StringRef.
Definition at line 267 of file SmallString.h.
Referenced by llvm::SmallString< 256 >::compare(), llvm::SmallString< 256 >::compare_lower(), llvm::SmallString< 256 >::compare_numeric(), computeRelativePath(), llvm::SmallString< 256 >::count(), CrashHandler(), llvm::createGraphFilename(), emitComments(), llvm::MCDwarfLineStr::emitSection(), llvm::StringToOffsetTable::EmitString(), llvm::SmallString< 256 >::endswith(), llvm::SmallString< 256 >::equals(), llvm::SmallString< 256 >::equals_lower(), ExpandResponseFile(), llvm::SmallString< 256 >::find(), llvm::SmallString< 256 >::find_first_not_of(), llvm::SmallString< 256 >::find_first_of(), llvm::SmallString< 256 >::find_last_of(), llvm::sys::Process::FindInEnvPath(), findInputFile(), llvm::symbolize::LLVMSymbolizer::flush(), llvm::LanaiMCInstLower::GetConstantPoolIndexSymbol(), llvm::LineEditor::getDefaultHistoryPath(), llvm::DWARFDebugLine::LineTable::getFileNameByIndex(), llvm::ModuleSummaryIndex::getGlobalNameForLocal(), getImplibPath(), llvm::LanaiMCInstLower::GetJumpTableSymbol(), llvm::ExecutionEngine::getMangledName(), getOutputPath(), llvm::lto::getThinLTOOutputFile(), llvm::object::MachOObjectFile::getVersionString(), llvm::vfs::VFSFromYamlDirIterImpl::increment(), llvm::lto::localCache(), mangleCoveragePath(), llvm::SmallString< 256 >::operator StringRef(), pathHasTraversal(), llvm::MCContext::RemapDebugPaths(), llvm::sys::fs::directory_entry::replace_filename(), llvm::SmallString< 256 >::rfind(), llvm::vfs::InMemoryFileSystem::setCurrentWorkingDirectory(), llvm::HexagonTargetObjectFile::shouldPutJumpTableInFunctionSection(), llvm::SmallString< 256 >::startswith(), and llvm::APInt::toString().
|
inline |
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 246 of file SmallString.h.