javadoc.hpp
3.82 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
//
// Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/CPPAllinace/url
//
Correct hyphenation:
Nouns: never hyphenated
1. The percent encoding
2. Each percent escape
Adjectives: hyphenated when the noun comes after
3. Returns a percent-escaped string
4. Removes percent-encoding from the string
Adjectives: not hyphenated when the noun comes before
5. The string `s` must be percent encoded.
6. The string may not be percent escaped.
// https://eel.is/c++draft/structure.specifications#3
/** {brief}
{description}
Any percent-escapes in the string are
decoded first.
The returned string may contain
percent escapes.
Reserved characters in the string are
percent-escaped in the result.
Escapes in the string are preserved,
and reserved characters in the string
are percent-escaped in the result.
The comparison is performed as if all
escaped characters were decoded first.
@note
The interpretation of userinfo as
individual user and password components
is scheme-dependent. Transmitting
passwords in URLs is deprecated.
@par Example
@par Constraints (SFINAE)
@par Mandates (static_assert)
@par Preconditions (assert)
@par Effects
@par Synchronization
@par Postconditions
@par Complexity
@par Exception Safety
Strong guarantee.
Basic guarantee.
Calls to allocate may throw.
Exceptions thrown on invalid input.
@throw system_error
`s` contains an invalid percent-encoding.
@tparam
@return
@param
@par BNF
@par Specification
@li
@see
@ref
*/
//------------------------------------------------
/** {brief}
{description}
<!-- Assume the user knows C++ properly -->
<!-- Assume the user has read the whole exposition -->
<!-- Avoid too much symbolism -->
<!-- Avoid repeating words -->
<!-- Use the present tense -->
<!-- Lists should use noun-phrases -->
@par Example
@code
{example}
// make it short
@endcode
@par Mandates
@par Preconditions
@par Effects
@note {text}
@par Exception Safety
<!-- exception guarantee + explanation -->
<!-- Exception guarantee -->
Throws nothing. <!-- the function never throws exceptions -->
Strong guarantee. <!-- If the function throws an exception, the state of the program is rolled back -->
Basic guarantee. <!-- If the function throws an exception, the program is in a valid state -->
No guarantee. <!-- If the function throws an exception, the program may not be in a valid state -->
<!-- Use explanation stock phrases if applicable: -->
<!-- Calls to allocate may throw. -->
<!-- Exceptions thrown on invalid input. -->
<!-- Exceptions thrown on excessive input length. -->
@tparam {name} {description}.
@return {description}.
@param {name} {description}.
<!-- Use stock phrases when applicable -->
<!-- @param begin An iterator to the beginning of the range -->
<!-- @param end An iterator to the end of the range -->
<!-- @param ec Set to the error, if any occurred -->
@throws {exception} {condition}.
<!-- Use stock phrases when applicable -->
<!-- @throws boost::system::system_error Thrown on failure. -->
@par Thread Safety
{description}
@par Specification
@li <a href="">text (rfc#)</a>
@par References
@li <a href="">text</a>
@see
@ref {refid},
@ref {refid},
@ref {refid}.
*/