class Core::Portable::FileName
Overview
String representing a file name using a platform-dependent path delimiter. More…
#include <corefilename.h> class FileName: public Core::CStringBuffer { public: // enums enum PathDelimiterType; // fields static CStringPtr kPathDelimiter = "/"; // construction FileName(CStringPtr filename = nullptr); // methods FileName& ascend(); FileName& descend(CStringPtr name); FileName& makeValid(); FileName& adjustPathDelimiters(PathDelimiterType type = kPathChar); bool isRelative() const; FileName& makeAbsolute(CStringPtr baseFolder); FileName& setExtension(CStringPtr ext, bool replace = true); FileName& removeExtension(); bool getExtension(FileName& extension) const; void getName(FileName& name) const; };
Inherited Members
public: // methods CStringPtr str() const; bool isEmpty() const; int length() const; bool copyTo(char* charBuffer, int bufferSize) const; int index(CStringPtr other) const; bool contains(CStringPtr other) const; bool startsWith(CStringPtr other) const; bool endsWith(CStringPtr other) const; int index(char c) const; int index(uchar c) const; int lastIndex(char c) const; int lastIndex(uchar c) const; bool contains(char c) const; int compare(CStringPtr other, bool caseSensitive = true) const; bool getIntValue(int32& value) const; bool getIntValue(int64& value) const; int scanInt(int fallback = 0) const; int64 scanLargetInt(int64 fallback = 0) const; bool getHexValue(int64& value) const; bool getFloatValue(double& value) const; bool getFloatValue(float& value) const; float scanFloat(float fallback = 0) const; double scanDouble(double fallback = 0) const; unsigned int getHashCode() const; bool operator == (CStringPtr other) const; bool operator != (CStringPtr other) const; template <class S> bool operator == (const CStringTraits<S>& other) const; template <class S> bool operator != (const CStringTraits<S>& other) const; bool equalsUnsafe(CStringPtr other) const; char at(int index) const; char firstChar() const; char lastChar() const; char operator [] (int index) const; operator CStringPtr () const; T& init(CStringPtr string); T& append(CStringPtr string, int count = -1); T& append(char c); T& append(uchar uc); T& appendFormat(const char* format, ...); T& appendFormatArgs(const char* format, va_list marker); T& appendInteger(int32 value); T& appendInteger(int64 value); T& appendInteger(uint32 value); T& appendInteger(uint64 value); T& operator += (char c); T& operator += (uchar uc); T& operator += (CStringPtr text); static bool isAlpha(char c); static bool isAlphaNumeric(char c); static bool isWhitespace(char c); static bool isDigit(char c); static bool isASCII(char c); static bool isLowercase(char c); static bool isUppercase(char c); static char toLowercase(char c); static char toUppercase(char c); CStringBuffer& empty(); CStringBuffer& truncate(int index); CStringBuffer& insert(int index, CStringPtr otherString); CStringBuffer& remove(int index, int count); CStringBuffer& replace(int index, int count, CStringPtr otherString); CStringBuffer& replace(char oldChar, char newChar); void subString(CStringBuffer& result, int index, int count = -1) const; CStringBuffer& trimWhitespace(); CStringBuffer<maxSize>& toLowercase(); CStringBuffer<maxSize>& toUppercase(); CStringBuffer& operator = (CStringPtr text); CStringBuffer& assignInteger(int value); char* getBuffer(); int getSize() const; static char toLowercase(char c); static char toUppercase(char c);
Detailed Documentation
String representing a file name using a platform-dependent path delimiter.
Methods
FileName& ascend()
Ascend one directory level.
FileName& descend(CStringPtr name)
Descend one directory level, i.e.
append name with path delimiter.
FileName& makeValid()
Replace invalid file name characters with ‘_’.
FileName& adjustPathDelimiters(PathDelimiterType type = kPathChar)
Adjust path delimiters.
bool isRelative() const
Check for relative path.
FileName& makeAbsolute(CStringPtr baseFolder)
Make absolute in given base folder.
FileName& setExtension(CStringPtr ext, bool replace = true)
Append (or replace) file name extension.
FileName& removeExtension()
Remove file name extension.
bool getExtension(FileName& extension) const
Get file name extension.
void getName(FileName& name) const
Get file name from full path string.