ZenLib
FileName.h
Go to the documentation of this file.
1/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
2 *
3 * Use of this source code is governed by a zlib-style license that can
4 * be found in the License.txt file in the root of the source tree.
5 */
6
7//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8//
9// File name related functions
10//
11//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12
13//---------------------------------------------------------------------------
14#ifndef ZenLib_FileNameH
15#define ZenLib_FileNameH
16//---------------------------------------------------------------------------
17
18//---------------------------------------------------------------------------
19#include "ZenLib/Ztring.h"
20//---------------------------------------------------------------------------
21
22namespace ZenLib
23{
24
25//***************************************************************************
26/// @brief File name manipulation
27//***************************************************************************
28
30{
31public :
32 //Constructor/Destructor
34 FileName (const tstring& str) : Ztring(str){}
35 FileName (const tstring& str, size_type pos, size_type n=npos) : Ztring(str, pos, n){}
36 FileName (const Char* s, size_type n) : Ztring(s, n){}
37 FileName (const Char* s) : Ztring(s){}
38 FileName (size_type n, char c) : Ztring(n, c){}
39
40 //Read/Write
46 ZenLib::Ztring& Extension_Set (const Ztring &Extension);
47
48 //Helpers
49 static ZenLib::Ztring Path_Get (const Ztring &File_Name) {return ((FileName&)File_Name).Path_Get();}
50 static ZenLib::Ztring Name_Get (const Ztring &File_Name) {return ((FileName&)File_Name).Name_Get();}
51 static ZenLib::Ztring Extension_Get (const Ztring &File_Name) {return ((FileName&)File_Name).Extension_Get();}
53};
54
55//Platform differences
56extern const Char* FileName_PathSeparator;
57
58} //NameSpace
59
60//---------------------------------------------------------------------------
61#ifdef __BORLANDC__
62 #pragma warn .8027
63#endif
64//---------------------------------------------------------------------------
65
66#endif
File name manipulation.
Definition: FileName.h:30
FileName(const Char *s)
Definition: FileName.h:37
FileName()
Definition: FileName.h:33
ZenLib::Ztring & Extension_Set(const Ztring &Extension)
ZenLib::Ztring & Path_Set(const Ztring &Path)
FileName(const Char *s, size_type n)
Definition: FileName.h:36
ZenLib::Ztring Extension_Get() const
FileName(const tstring &str)
Definition: FileName.h:34
static ZenLib::Ztring Path_Get(const Ztring &File_Name)
Definition: FileName.h:49
ZenLib::Ztring & Name_Set(const Ztring &Name)
static ZenLib::Ztring Name_Get(const Ztring &File_Name)
Definition: FileName.h:50
ZenLib::Ztring Path_Get() const
FileName(const tstring &str, size_type pos, size_type n=npos)
Definition: FileName.h:35
ZenLib::Ztring Name_Get() const
FileName(size_type n, char c)
Definition: FileName.h:38
static ZenLib::Ztring TempFileName_Create(const Ztring &Prefix)
static ZenLib::Ztring Extension_Get(const Ztring &File_Name)
Definition: FileName.h:51
String manipulation (based on std::(w)string)
Definition: Ztring.h:50
Definition: BitStream.h:24
const Char * FileName_PathSeparator
char Char
Definition: Conf.h:225
std::basic_string< Char, std::char_traits< Char >, std::allocator< Char > > tstring
Definition: Ztring.h:28