LLVM  8.0.1
Classes | Namespaces | Functions
StringExtras.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <iterator>
#include <string>
#include <utility>
Include dependency graph for StringExtras.h:

Go to the source code of this file.

Classes

class  llvm::SmallVectorImpl< T >
 This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::detail
 Implementation details of the pass manager interfaces.
 

Functions

char llvm::hexdigit (unsigned X, bool LowerCase=false)
 hexdigit - Return the hexadecimal character for the given number X (which should be less than 16). More...
 
std::vector< StringRef > llvm::toStringRefArray (const char *const *Strings)
 Given an array of c-style strings terminated by a null pointer, construct a vector of StringRefs representing the same strings without the terminating null string. More...
 
StringRef llvm::toStringRef (bool B)
 Construct a string ref from a boolean. More...
 
StringRef llvm::toStringRef (ArrayRef< uint8_t > Input)
 Construct a string ref from an array ref of unsigned chars. More...
 
ArrayRef< uint8_t > llvm::arrayRefFromStringRef (StringRef Input)
 Construct a string ref from an array ref of unsigned chars. More...
 
unsigned llvm::hexDigitValue (char C)
 Interpret the given character C as a hexadecimal digit and return its value. More...
 
bool llvm::isDigit (char C)
 Checks if character C is one of the 10 decimal digits. More...
 
bool llvm::isHexDigit (char C)
 Checks if character C is a hexadecimal numeric character. More...
 
bool llvm::isAlpha (char C)
 Checks if character C is a valid letter as classified by "C" locale. More...
 
bool llvm::isAlnum (char C)
 Checks whether character C is either a decimal digit or an uppercase or lowercase letter as classified by "C" locale. More...
 
bool llvm::isASCII (char C)
 Checks whether character C is valid ASCII (high bit is zero). More...
 
bool llvm::isASCII (llvm::StringRef S)
 Checks whether all characters in S are ASCII. More...
 
bool llvm::isPrint (char C)
 Checks whether character C is printable. More...
 
char llvm::toLower (char x)
 Returns the corresponding lowercase character if x is uppercase. More...
 
char llvm::toUpper (char x)
 Returns the corresponding uppercase character if x is lowercase. More...
 
std::string llvm::utohexstr (uint64_t X, bool LowerCase=false)
 
std::string llvm::toHex (StringRef Input, bool LowerCase=false)
 Convert buffer Input to its hexadecimal representation. More...
 
std::string llvm::toHex (ArrayRef< uint8_t > Input, bool LowerCase=false)
 
uint8_t llvm::hexFromNibbles (char MSB, char LSB)
 
std::string llvm::fromHex (StringRef Input)
 Convert hexadecimal string Input to its binary representation. More...
 
template<typename N >
bool llvm::to_integer (StringRef S, N &Num, unsigned Base=0)
 Convert the string S to an integer of the specified type using the radix Base. More...
 
template<typename N >
bool llvm::detail::to_float (const Twine &T, N &Num, N(*StrTo)(const char *, char **))
 
bool llvm::to_float (const Twine &T, float &Num)
 
bool llvm::to_float (const Twine &T, double &Num)
 
bool llvm::to_float (const Twine &T, long double &Num)
 
std::string llvm::utostr (uint64_t X, bool isNeg=false)
 
std::string llvm::itostr (int64_t X)
 
StringRef::size_type llvm::StrInStrNoCase (StringRef s1, StringRef s2)
 StrInStrNoCase - Portable version of strcasestr. More...
 
std::pair< StringRef, StringRefllvm::getToken (StringRef Source, StringRef Delimiters=" \\\)
 getToken - This function extracts one token from source, ignoring any leading characters that appear in the Delimiters string, and ending the token at any of the characters that appear in the Delimiters string. More...
 
void llvm::SplitString (StringRef Source, SmallVectorImpl< StringRef > &OutFragments, StringRef Delimiters=" \\\)
 SplitString - Split up the specified string according to the specified delimiters, appending the result fragments to the output list. More...
 
StringRef llvm::getOrdinalSuffix (unsigned Val)
 Returns the English suffix for an ordinal integer (-st, -nd, -rd, -th). More...
 
void llvm::printEscapedString (StringRef Name, raw_ostream &Out)
 Print each character of the specified string, escaping it if it is not printable or if it is an escape char. More...
 
void llvm::printHTMLEscaped (StringRef String, raw_ostream &Out)
 Print each character of the specified string, escaping HTML special characters. More...
 
void llvm::printLowerCase (StringRef String, raw_ostream &Out)
 printLowerCase - Print each character as lowercase if it is uppercase. More...
 
template<typename IteratorT >
std::string llvm::detail::join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::input_iterator_tag)
 
template<typename IteratorT >
std::string llvm::detail::join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::forward_iterator_tag)
 
template<typename Sep >
void llvm::detail::join_items_impl (std::string &Result, Sep Separator)
 
template<typename Sep , typename Arg >
void llvm::detail::join_items_impl (std::string &Result, Sep Separator, const Arg &Item)
 
template<typename Sep , typename Arg1 , typename... Args>
void llvm::detail::join_items_impl (std::string &Result, Sep Separator, const Arg1 &A1, Args &&... Items)
 
size_t llvm::detail::join_one_item_size (char C)
 
size_t llvm::detail::join_one_item_size (const char *S)
 
template<typename T >
size_t llvm::detail::join_one_item_size (const T &Str)
 
size_t llvm::detail::join_items_size ()
 
template<typename A1 >
size_t llvm::detail::join_items_size (const A1 &A)
 
template<typename A1 , typename... Args>
size_t llvm::detail::join_items_size (const A1 &A, Args &&... Items)
 
template<typename IteratorT >
std::string llvm::join (IteratorT Begin, IteratorT End, StringRef Separator)
 Joins the strings in the range [Begin, End), adding Separator between the elements. More...
 
template<typename Range >
std::string llvm::join (Range &&R, StringRef Separator)
 Joins the strings in the range [R.begin(), R.end()), adding Separator between the elements. More...
 
template<typename Sep , typename... Args>
std::string llvm::join_items (Sep Separator, Args &&... Items)
 Joins the strings in the parameter pack Items, adding Separator between the elements. More...