]>
Commit | Line | Data |
---|---|---|
b4c522fa | 1 | |
f3ed896c | 2 | /* Copyright (C) 1999-2019 by The D Language Foundation, All Rights Reserved |
b4c522fa IB |
3 | * http://www.digitalmars.com |
4 | * Distributed under the Boost Software License, Version 1.0. | |
5 | * http://www.boost.org/LICENSE_1_0.txt | |
6 | * https://github.com/dlang/dmd/blob/master/src/dmd/root/filename.h | |
7 | */ | |
8 | ||
9 | #pragma once | |
10 | ||
11 | #include "array.h" | |
12 | ||
13 | class RootObject; | |
14 | ||
15 | template <typename TYPE> struct Array; | |
16 | typedef Array<const char *> Strings; | |
17 | ||
18 | struct FileName | |
19 | { | |
20 | const char *str; | |
21 | FileName(const char *str); | |
22 | bool equals(RootObject *obj); | |
23 | static bool equals(const char *name1, const char *name2); | |
24 | int compare(RootObject *obj); | |
25 | static int compare(const char *name1, const char *name2); | |
26 | static bool absolute(const char *name); | |
27 | static const char *ext(const char *); | |
28 | const char *ext(); | |
29 | static const char *removeExt(const char *str); | |
30 | static const char *name(const char *); | |
31 | const char *name(); | |
32 | static const char *path(const char *); | |
33 | static const char *replaceName(const char *path, const char *name); | |
34 | ||
35 | static const char *combine(const char *path, const char *name); | |
36 | static Strings *splitPath(const char *path); | |
37 | static const char *defaultExt(const char *name, const char *ext); | |
38 | static const char *forceExt(const char *name, const char *ext); | |
39 | static bool equalsExt(const char *name, const char *ext); | |
40 | ||
41 | bool equalsExt(const char *ext); | |
42 | ||
43 | static const char *searchPath(Strings *path, const char *name, bool cwd); | |
44 | static const char *safeSearchPath(Strings *path, const char *name); | |
45 | static int exists(const char *name); | |
46 | static bool ensurePathExists(const char *path); | |
47 | static const char *canonicalName(const char *name); | |
48 | ||
49 | static void free(const char *str); | |
50 | const char *toChars() const; | |
51 | }; |