-
Notifications
You must be signed in to change notification settings - Fork 0
/
directory.inl
63 lines (54 loc) · 1.41 KB
/
directory.inl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/* THOR - THOR Template Library
* Joshua M. Kriegshauser
*
* directory.inl
*
* Utility for working with directories -- inline implementations
*/
#ifndef THOR_BASIC_STRING_H
#include "basic_string.h"
#endif
#ifndef THOR_DIRECTORY_H
#include "directory.h"
#endif
namespace thor
{
namespace dir
{
inline bool create(const char* path, bool recursive)
{
basic_string<wchar_t, 256> wpath;
bool b = utf8_to_wide(path, wpath);
THOR_UNUSED(b); THOR_ASSERT(b);
return create(wpath.c_str(), recursive);
}
inline bool remove(const char* path, bool empty_only)
{
basic_string<wchar_t, 256> wpath;
bool b = utf8_to_wide(path, wpath);
THOR_UNUSED(b); THOR_ASSERT(b);
return remove(wpath.c_str(), empty_only);
}
inline bool exists(const char* path)
{
basic_string<wchar_t, 256> wpath;
bool b = utf8_to_wide(path, wpath);
THOR_UNUSED(b); THOR_ASSERT(b);
return exists(wpath.c_str());
}
inline bool rename(const char* path, const char* newname)
{
basic_string<wchar_t, 256> wpath, wnewname;
bool b = utf8_to_wide(path, wpath) & utf8_to_wide(newname, wnewname);
THOR_UNUSED(b); THOR_ASSERT(b);
return rename(wpath.c_str(), wnewname.c_str());
}
inline uint64 freespace(const char* path)
{
basic_string<wchar_t, 256> wpath;
bool b = utf8_to_wide(path, wpath);
THOR_UNUSED(b); THOR_ASSERT(b);
return freespace(wpath.c_str());
}
} // namespace dir
} // namespace thor