|
5 | 5 | http://www.boost.org/LICENSE_1_0.txt). |
6 | 6 | ] |
7 | 7 |
|
8 | | -[section:appendix_1 Appendix 1: Message Concepts] |
| 8 | +[section:appendices Appendices] |
9 | 9 |
|
10 | | -[section:message_concept Message] |
| 10 | +[include message_concept.qbk] |
| 11 | +[include uri_concept.qbk] |
| 12 | +[include http_uri_concept.qbk] |
11 | 13 |
|
12 | | -__message__ is |
13 | | -[@http://www.boost.org/doc/html/DefaultConstructible.html |
14 | | -DefaultConstructible], |
15 | | -[@http://www.boost.org/doc/html/CopyConstructible.html |
16 | | -CopyConstructible] and [@http://www.boost.org/doc/html/Assignable.html |
17 | | -Assignable]. |
18 | | - |
19 | | -[heading Description] |
20 | | - |
21 | | -A type models the URI Concept if the type adheres to the following |
22 | | -usage semantics, and is DefaultConstructible and EqualityComparable. |
23 | | - |
24 | | -[variablelist Notation |
25 | | - [[`M`] [A Message Type.]] |
26 | | - [[`m`, `m_`] [A Message Type instance.]] |
27 | | - [[`S`] [A String Type.]] |
28 | | - [[`s`] [A String Type instance.]] |
29 | | - [[`O`] [An Ostringstream Type.]] |
30 | | - [[`o`] [An Ostringstream Type instance.]] |
31 | | - [[`C`] [A Header Container Type.]] |
32 | | - [[`c`] [A Header Container Type instance.]] |
33 | | -] |
34 | | - |
35 | | -[heading Valid Expressions] |
36 | | - |
37 | | -[table |
38 | | - [[Expression] [Return Type] [Description]] |
39 | | - [[`M m_(m);`] [] [M must be Copy constructible.]] |
40 | | - [[`M m_; m_ = m;`] [] [M must be Assignable.]] |
41 | | - [[`swap(m, m_);`] [void] [Swap should be availabe via ADL.]] |
42 | | - [[`M::string_type`] [S] [M should have a nested type `string_type` of type `S`.]] |
43 | | - [[`M::headers_container_type`] [C] [M should have a nested type `headers_container_type` of type `C`.]] |
44 | | -] |
45 | | - |
46 | | - |
47 | | -[endsect] [/message_concept] |
48 | | - |
49 | | -[endsect] [/appendix_1] |
50 | | - |
51 | | -[section:appendix_2 Appendix 2: URI Concepts] |
52 | | - |
53 | | -This page describes the URI Concepts implemented within cpp-netlib. |
54 | | -The following concepts are also implemented as Boost.Concept_check |
55 | | -types enforced by the URI library. |
56 | | - |
57 | | -URI Concepts are organized into a hierarchy of conepts. |
58 | | - |
59 | | -[section:uri_concept URI] |
60 | | - |
61 | | -[heading Description] |
62 | | - |
63 | | -A type models the URI Concept if the type adheres to the following |
64 | | -usage semantics, and is DefaultConstructible and EqualityComparable. |
65 | | - |
66 | | -[variablelist Notation |
67 | | - [[`U`] [A URI Type.]] |
68 | | - [[`u`, `u_`] [A URI Type instance.]] |
69 | | - [[`S`] [A String Type.]] |
70 | | - [[`s`] [A String Type instance.]] |
71 | | -] |
72 | | - |
73 | | -[heading Valid Expressions] |
74 | | - |
75 | | -For any URI, the following expressions must be valid: |
76 | | - |
77 | | -[table |
78 | | - [[Expression] [Return Type] [Description]] |
79 | | - [[`U u_(u)`;] [] [U must be Copy constructible.]] |
80 | | - [[`U u_; u_ = u;`] [] [U must be Assignable.]] |
81 | | - [[`U u_(s)`;] [] [U can be constructed from a string `s`.]] |
82 | | - [[`swap(u, u_);`] [void] [Swap should be availabe via ADL.]] |
83 | | - [[`protocol(u);`] [S] [Return the protocol part of the URI.]] |
84 | | - [[`rest(u);`] [S] [Return the rest of the URI, excluding the protocol part.]] |
85 | | - [[`valid(u);`] [bool] [Return true whether the URI is a valid URI.]] |
86 | | - [[`U::string_type`] [S] [U should have a nested type `string_type` of type `S`.]] |
87 | | -] |
88 | | - |
89 | | -[endsect] [/uri_concept] |
90 | | - |
91 | | -[section:http_uri HTTP URI] |
92 | | - |
93 | | -A type models the HTTP URI Concept if the type adheres to the following |
94 | | -usage semantics, and if the type also models the URI Concept. |
95 | | - |
96 | | -[variablelist Notation |
97 | | - [[`H`] [An HTTP URI Type.]] |
98 | | - [[`h`,`h_`] [An HTTP URI Type instance.]] |
99 | | - [[`S`] [A String Type.]] |
100 | | - [[`s`] [A String Type instance.]] |
101 | | -] |
102 | | - |
103 | | -[heading Valid Expressions] |
104 | | - |
105 | | -For any HTTP URI, the following expressions must be valid: |
106 | | - |
107 | | -[table |
108 | | - [[Expression] [Return Type] [Description]] |
109 | | - [[`user_info(h)`] [S] [Retrieve the user-info part of the HTTP URI.]] |
110 | | - [[`host(h)`] [S] [Retrieve the host part of the HTTP URI.]] |
111 | | - [[`port(h)`] [uint16_t] [Retrieve the port part of the HTTP URI.]] |
112 | | - [[`path(h)`] [S] [Retrieve the path part of the HTTP URI.]] |
113 | | - [[`query(h)`] [S] [Retrieve the query part of the HTTP URI.]] |
114 | | - [[`fragment(h)`][S] [Retrieve the fragment part of the HTTP URI.]] |
115 | | -] |
116 | | - |
117 | | -[endsect] [/http_uri] |
118 | | - |
119 | | -[endsect] [/appendix_2] |
| 14 | +[endsect] [/ appendices] |