1
0
mirror of https://github.com/Halofreak1990/XFXFramework synced 2024-12-26 13:49:34 +01:00
Halofreak1990 e7a47c8ed9 Revamped the List class so that it can (properly) handle pointers as well
Added 'ValueTypes' Single and Double
Added some components in the new System::Net namespace
Added the Console class, which can be used to output text to the screen
Updated a bunch of structs to include the IComparable and IEquatable interfaces, and inheritance from Object to allow better interoperability between container classes and other types
Replaced all exception handling code with a report to stdout.txt - this will, I hope, eventually be reversed, but as of yet, there is no support for exceptions.

BEWARE! Even though all libraries correctly compile, you cannot use any class/structure that inherits from a template class, because stupid G++ wants to include exception handling for each template.
2011-11-07 01:29:50 +00:00

55 lines
1.6 KiB
C++

/********************************************************
* Path.h *
* *
* XFX Path definition file *
* Copyright © XFX Team. All Rights Reserved *
********************************************************/
#ifndef _SYSTEM_IO_PATH_
#define _SYSTEM_IO_PATH_
#include <System/Types.h>
namespace System
{
namespace IO
{
/// <summary>
/// Performs operations on char* instances that contain file or directory path information. These
/// operations are performed in a cross-platform manner.
/// </summary>
class Path
{
private:
static bool dirEqualsVolume;
static const char* InvalidPathChars;
Path();
static void GetDrive(const char* szPartition, out char* cDriveLetter);
static char *Path::GetInvalidFileNameChars();
public:
static const char AltDirectorySeparatorChar;
static const char DirectorySeparatorChar;
static const char PathSeparator;
static const char VolumeSeparatorChar;
static char* ChangeExtension(char* path, char* extension);
static char* Combine(char* path1, char* path2) __attribute__((nonnull (1, 2)));;
static char* GetDirectoryName(char* path);
static char* GetExtension(char* path);
static char* GetFileName(char* path);
static char* GetFileNameWithoutExtension(char* path);
static char* GetFullPath(char* path);
static char *GetInvalidPathChars();
static char* GetPathRoot(char* path);
static char* GetTempFileName();
static char* GetTempPath();
static bool HasExtension(char* path);
static bool IsPathRooted(char* path);
};
}
}
#endif //_SYSTEM_IO_PATH_