LLVM  8.0.1
Classes | Namespaces | Enumerations
Path.h File Reference
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/iterator.h"
#include "llvm/Support/DataTypes.h"
#include <iterator>
#include <system_error>
Include dependency graph for Path.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::sys::path::const_iterator
 Path iterator. More...
 
class  llvm::sys::path::reverse_iterator
 Reverse path iterator. More...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::sys
 
 llvm::sys::path
 

Enumerations

enum  llvm::sys::path::Style { llvm::sys::path::Style::windows, llvm::sys::path::Style::posix, llvm::sys::path::Style::native }
 

Functions

Lexical Component Iterator
const_iterator llvm::sys::path::begin (StringRef path, Style style=Style::native)
 Get begin iterator over path. More...
 
const_iterator llvm::sys::path::end (StringRef path)
 Get end iterator over path. More...
 
reverse_iterator llvm::sys::path::rbegin (StringRef path, Style style=Style::native)
 Get reverse begin iterator over path. More...
 
reverse_iterator llvm::sys::path::rend (StringRef path)
 Get reverse end iterator over path. More...
 
Lexical Modifiers
void llvm::sys::path::remove_filename (SmallVectorImpl< char > &path, Style style=Style::native)
 Remove the last component from path unless it is the root dir. More...
 
void llvm::sys::path::replace_extension (SmallVectorImpl< char > &path, const Twine &extension, Style style=Style::native)
 Replace the file extension of path with extension. More...
 
void llvm::sys::path::replace_path_prefix (SmallVectorImpl< char > &Path, const StringRef &OldPrefix, const StringRef &NewPrefix, Style style=Style::native)
 Replace matching path prefix with another path. More...
 
void llvm::sys::path::append (SmallVectorImpl< char > &path, const Twine &a, const Twine &b="", const Twine &c="", const Twine &d="")
 Append to path. More...
 
void llvm::sys::path::append (SmallVectorImpl< char > &path, Style style, const Twine &a, const Twine &b="", const Twine &c="", const Twine &d="")
 
void llvm::sys::path::append (SmallVectorImpl< char > &path, const_iterator begin, const_iterator end, Style style=Style::native)
 Append to path. More...
 
Transforms (or some other better name)
void llvm::sys::path::native (const Twine &path, SmallVectorImpl< char > &result, Style style=Style::native)
 Convert path to the native form. More...
 
void llvm::sys::path::native (SmallVectorImpl< char > &path, Style style=Style::native)
 Convert path to the native form in place. More...
 
std::string llvm::sys::path::convert_to_slash (StringRef path, Style style=Style::native)
 Replaces backslashes with slashes if Windows. More...
 
Lexical Observers
StringRef llvm::sys::path::root_name (StringRef path, Style style=Style::native)
 Get root name. More...
 
StringRef llvm::sys::path::root_directory (StringRef path, Style style=Style::native)
 Get root directory. More...
 
StringRef llvm::sys::path::root_path (StringRef path, Style style=Style::native)
 Get root path. More...
 
StringRef llvm::sys::path::relative_path (StringRef path, Style style=Style::native)
 Get relative path. More...
 
StringRef llvm::sys::path::parent_path (StringRef path, Style style=Style::native)
 Get parent path. More...
 
StringRef llvm::sys::path::filename (StringRef path, Style style=Style::native)
 Get filename. More...
 
StringRef llvm::sys::path::stem (StringRef path, Style style=Style::native)
 Get stem. More...
 
StringRef llvm::sys::path::extension (StringRef path, Style style=Style::native)
 Get extension. More...
 
bool llvm::sys::path::is_separator (char value, Style style=Style::native)
 Check whether the given char is a path separator on the host OS. More...
 
StringRef llvm::sys::path::get_separator (Style style=Style::native)
 Return the preferred separator for this platform. More...
 
void llvm::sys::path::system_temp_directory (bool erasedOnReboot, SmallVectorImpl< char > &result)
 Get the typical temporary directory for the system, e.g., "/var/tmp" or "C:/TEMP". More...
 
bool llvm::sys::path::home_directory (SmallVectorImpl< char > &result)
 Get the user's home directory. More...
 
bool llvm::sys::path::has_root_name (const Twine &path, Style style=Style::native)
 Has root name? More...
 
bool llvm::sys::path::has_root_directory (const Twine &path, Style style=Style::native)
 Has root directory? More...
 
bool llvm::sys::path::has_root_path (const Twine &path, Style style=Style::native)
 Has root path? More...
 
bool llvm::sys::path::has_relative_path (const Twine &path, Style style=Style::native)
 Has relative path? More...
 
bool llvm::sys::path::has_parent_path (const Twine &path, Style style=Style::native)
 Has parent path? More...
 
bool llvm::sys::path::has_filename (const Twine &path, Style style=Style::native)
 Has filename? More...
 
bool llvm::sys::path::has_stem (const Twine &path, Style style=Style::native)
 Has stem? More...
 
bool llvm::sys::path::has_extension (const Twine &path, Style style=Style::native)
 Has extension? More...
 
bool llvm::sys::path::is_absolute (const Twine &path, Style style=Style::native)
 Is path absolute? More...
 
bool llvm::sys::path::is_relative (const Twine &path, Style style=Style::native)
 Is path relative? More...
 
StringRef llvm::sys::path::remove_leading_dotslash (StringRef path, Style style=Style::native)
 Remove redundant leading "./" pieces and consecutive separators. More...
 
bool llvm::sys::path::remove_dots (SmallVectorImpl< char > &path, bool remove_dot_dot=false, Style style=Style::native)
 In-place remove any '. More...