LeviLamina
Loading...
Searching...
No Matches
Path.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/deps/core/file/PathPart.h"
5
6// auto generated inclusion list
7#include "mc/deps/core/file/PathPart.h"
8
9namespace Core {
10
11class Path {
12public:
13 // Path inner types declare
14 // clang-format off
15 struct path_less;
16 // clang-format on
17
18 // Path inner types define
19 struct path_less {};
20
21public:
22 Path(std::filesystem::path const& path) : Path(path.u8string()) {}
23 Path(std::u8string&& path) { mPathPart.mUtf8StdString = std::move(*reinterpret_cast<std::string*>(&path)); }
24 Path(std::string&& path) { mPathPart.mUtf8StdString = std::move(path); }
25 Path(std::u8string const& path) { mPathPart.mUtf8StdString = *reinterpret_cast<std::string const*>(&path); }
26 Path(std::string const& path) { mPathPart.mUtf8StdString = path; }
27 Path(char const* path) { mPathPart.mUtf8StdString = path; }
28 Path() = default;
29
30public:
31 // prevent constructor by default
32 Path& operator=(Path const&);
33 Path(Path const&);
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::Core::PathPart mPathPart;
39 // NOLINTEND
40
41public:
42 // static variables
43 // NOLINTBEGIN
44 MCNAPI static ::Core::Path const& EMPTY();
45 // NOLINTEND
46
47public:
48 // constructor thunks
49 // NOLINTBEGIN
50 MCNAPI void* $ctor();
51
52 MCNAPI void* $ctor(::std::string&& str);
53
54 MCNAPI void* $ctor(char const* str);
55 // NOLINTEND
56
57public:
58 // destructor thunk
59 // NOLINTBEGIN
60 MCNAPI void $dtor();
61 // NOLINTEND
62};
63
64} // namespace Core
Definition PathPart.h:7
Definition Path.h:11
MCAPI void * $ctor(char const *str)
static MCAPI ::Core::Path const & EMPTY()
MCAPI void * $ctor(::std::string &&str)
MCAPI void $dtor()
MCAPI void * $ctor()
Definition Path.h:16
Definition Path.h:19