Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
directorypath.cpp
Go to the documentation of this file.
1
// Copyright (C) 2022 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4
#
include
"directorypath.h"
5
6
/*!
7
* \class DirectoryPath
8
*
9
* \brief Represents a path to a directory that was known to exist on the
10
* filesystem.
11
*
12
* An instance of this type guarantees that, at the time of creation
13
* of the instance, the contained path represented an existing,
14
* readable, executable directory.
15
*
16
* The type is intended to be used whenever a user-provided path to a
17
* directory is encountered the first time, validating that it can be
18
* used later on for the duration of a QDoc execution and
19
* canonicalizing the original path.
20
*
21
* Such a usage example could be during the configuration process,
22
* when encountering the paths that defines where QDoc should search
23
* for images or other files.
24
*
25
* Similarly, it is intended to be used at the API boundaries,
26
* internally, to relieve the called element of the requirement to
27
* check the validity of a path when a directory is required and to
28
* ensure that a single format of the path is encountered.
29
*
30
* Do note that the guarantees provided by this type do not
31
* necessarily hold after the time of creation of an instance.
32
* Indeed, the underlying filesystem may have changed.
33
*
34
* It is possible to renew the contract by obtaining a new instance:
35
*
36
* \code
37
* DirectoryPath old...
38
*
39
* ...
40
*
41
* auto current{DirectoryPath:refine(old.value())};
42
* \endcode
43
*
44
* QDoc itself will not generally perform destructive operations on
45
* its input files during an execution and, as such, it is never
46
* required to renew a contract. Ensuring that the underlying input
47
* files are indeed immutable is out-of-scope for QDoc and it is
48
* allowed to consider a case where the contract was invalidated as
49
* undefined behavior.
50
*/
51
52
/*!
53
* \include boundaries/refined_typedef_members.qdocinc {wrapped_type_documentation} {DirectoryPath}
54
*/
55
56
/*!
57
* \include boundaries/refined_typedef_members.qdocinc {has_equality_operator_documentation} {DirectoryPath}
58
*/
59
60
/*!
61
* \include boundaries/refined_typedef_members.qdocinc {has_less_than_operator_documentation} {DirectoryPath}
62
*/
63
64
/*!
65
* \include boundaries/refined_typedef_members.qdocinc {has_strictly_less_than_operator_documentation} {DirectoryPath}
66
*/
67
68
/*!
69
* \include boundaries/refined_typedef_members.qdocinc {has_greater_than_operator_documentation} {DirectoryPath}
70
*/
71
72
/*!
73
* \include boundaries/refined_typedef_members.qdocinc {has_strictly_greater_than_operator_documentation} {DirectoryPath}
74
*/
75
76
/*!
77
* \include boundaries/refined_typedef_members.qdocinc {refine_documentation} {DirectoryPath}
78
*/
79
80
/*!
81
* \include boundaries/refined_typedef_members.qdocinc {value_documentation} {DirectoryPath}
82
*/
83
84
/*!
85
* \include boundaries/refined_typedef_members.qdocinc {copy_constructor_documentation} {DirectoryPath}
86
*/
87
88
/*!
89
* \include boundaries/refined_typedef_members.qdocinc {copy_assignment_documentation} {DirectoryPath}
90
*/
91
92
/*!
93
* \include boundaries/refined_typedef_members.qdocinc {move_constructor_documentation} {DirectoryPath}
94
*/
95
96
/*!
97
* \include boundaries/refined_typedef_members.qdocinc {move_assignment_documentation} {DirectoryPath}
98
*/
99
100
/*!
101
* \include boundaries/refined_typedef_members.qdocinc {conversion_documentation} {DirectoryPath}
102
*/
103
104
/*!
105
* \include boundaries/refined_typedef_members.qdocinc {operator_equal_documentation} {DirectoryPath}
106
*/
107
108
/*!
109
* \include boundaries/refined_typedef_members.qdocinc {operator_unequal_documentation} {DirectoryPath}
110
*/
111
112
/*!
113
* \include boundaries/refined_typedef_members.qdocinc {operator_less_than_documentation} {DirectoryPath}
114
*/
115
116
/*!
117
* \include boundaries/refined_typedef_members.qdocinc {operator_less_than_or_equal_documentation} {DirectoryPath}
118
*/
119
120
/*!
121
* \include boundaries/refined_typedef_members.qdocinc {operator_greater_than_documentation} {DirectoryPath}
122
*/
123
124
/*!
125
* \include boundaries/refined_typedef_members.qdocinc {operator_greater_than_or_equal_documentation} {DirectoryPath}
126
*/
qttools
src
qdoc
qdoc
src
qdoc
boundaries
filesystem
directorypath.cpp
Generated on Sat Sep 21 2024 00:51:04 for Qt by
1.12.0