WPILibC++
2018.4.1-20180729223220-1149-g7bd3f9f
|
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better as a string (e.g. More...
#include <SmallString.h>
Public Member Functions | |
SmallString ()=default | |
Default ctor - Initialize to empty. | |
SmallString (StringRef S) | |
Initialize from a StringRef. | |
template<typename ItTy > | |
SmallString (ItTy S, ItTy E) | |
Initialize with a range. | |
String Assignment | |
void | assign (size_t NumElts, char Elt) |
Assign from a repeated element. | |
template<typename in_iter > | |
void | assign (in_iter S, in_iter E) |
Assign from an iterator pair. | |
void | assign (StringRef RHS) |
Assign from a StringRef. | |
void | assign (const SmallVectorImpl< char > &RHS) |
Assign from a SmallVector. | |
String Concatenation | |
template<typename in_iter > | |
void | append (in_iter S, in_iter E) |
Append from an iterator pair. | |
void | append (size_t NumInputs, char Elt) |
void | append (StringRef RHS) |
Append from a StringRef. | |
void | append (const SmallVectorImpl< char > &RHS) |
Append from a SmallVector. | |
String Comparison | |
bool | equals (StringRef RHS) const |
Check for string equality. More... | |
bool | equals_lower (StringRef RHS) const |
Check for string equality, ignoring case. | |
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. | |
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 . | |
bool | endswith (StringRef Suffix) const |
endswith - 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. 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. | |
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. | |
const char * | c_str () |
operator StringRef () const | |
Implicit conversion to StringRef. | |
const SmallString & | operator= (StringRef RHS) |
SmallString & | operator+= (StringRef RHS) |
SmallString & | operator+= (char C) |
![]() | |
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) | |
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) |
![]() | |
SmallVectorImpl (const SmallVectorImpl &)=delete | |
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. | |
void | append (size_type NumInputs, const char &Elt) |
Add the specified range to the end of the SmallVector. | |
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 |
void | set_size (size_type N) |
Set the array size to N , which the current array must have enough capacity for. More... | |
![]() | |
void | push_back (const T &Elt) |
void | push_back (T &&Elt) |
void | pop_back () |
![]() | |
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 |
LLVM_ATTRIBUTE_ALWAYS_INLINE size_type | size () const |
size_type | max_size () const |
size_t | capacity () const |
Return the total number of elements in the currently allocated buffer. | |
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(). | |
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 |
![]() | |
size_t | size_in_bytes () const |
This returns size()*sizeof(T). | |
size_t | capacity_in_bytes () const |
capacity_in_bytes - This returns capacity()*sizeof(T). | |
LLVM_NODISCARD bool | empty () const |
Additional Inherited Members | |
![]() | |
using | iterator = typename SuperClass::iterator |
using | const_iterator = typename SuperClass::const_iterator |
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 * |
![]() | |
SmallVectorImpl (unsigned N) | |
![]() | |
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... | |
![]() | |
SmallVectorTemplateCommon (size_t Size) | |
void | grow_pod (size_t MinSizeInBytes, 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. | |
void | setEnd (T *P) |
iterator | capacity_ptr () |
const_iterator | capacity_ptr () const |
![]() | |
SmallVectorBase (void *FirstEl, size_t Size) | |
void | grow_pod (void *FirstEl, size_t MinSizeInBytes, 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 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... | |
![]() | |
void * | BeginX |
void * | EndX |
void * | CapacityX |
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better as a string (e.g.
operator+ etc).
|
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
.
|
inline |
compare_numeric - Compare two strings, treating sequences of digits as numbers.
|
inline |
Return the number of non-overlapped occurrences of Str
in the string.
|
inline |
Check for string equality.
This is more efficient than compare() when the relative ordering of inequal strings isn't needed.
|
inline |
find - Search for the first character C
in the string.
C
, or npos if not found.
|
inline |
Search for the first string Str
in the string.
Str
, or npos if not found.
|
inline |
Find the first character in the string that is not C
or npos if not found.
|
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())
|
inline |
Find the first character in the string that is C
, or npos if not found.
Same as find.
|
inline |
Find the first character in the string that is in Chars
, or npos if not found.
Complexity: O(size() + Chars.size())
|
inline |
Find the last character in the string that is C
, or npos if not found.
|
inline |
Find the last character in the string that is in C
, or npos if not found.
Complexity: O(size() + Chars.size())
|
inline |
Search for the last character C
in the string.
C
, or npos if not found.
|
inline |
Search for the last string Str
in the string.
Str
, or npos if not found.
|
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. |
|
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. |