]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/concept_check/doc/reference/SignedInteger.xml
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / concept_check / doc / reference / SignedInteger.xml
CommitLineData
7c673cae
FG
1<?xml version="1.0"?>
2<concept name="SignedInteger" category="Utility"><!--
3Based on concepts from the SGI Standard Template Library documentation:
4Copyright (c) 1996-1999
5Silicon Graphics Computer Systems, Inc.
6
7Copyright (c) 1994
8Hewlett-Packard Company
9--><!--
10Copyright 2000-2001 University of Notre Dame du Lac.
11Copyright 2001-2002 Indiana University.
12Some concepts based on versions from the MTL draft manual and Boost Graph
13and Property Map documentation:
14Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
15-->
16 <param name="T" role="integral-type"/>
17
18 <models-sentence>Integer type <arg num="1"/> must be a model of <self/>.</models-sentence>
19
20 <refines const="no" concept="CopyConstructible"/>
21 <refines const="no" concept="Assignable"/>
22 <refines const="no" concept="DefaultConstructible"/>
23 <refines const="no" concept="EqualityComparable"/>
24 <refines const="no" concept="LessThanComparable"/>
25
26 <notation variables="x y z">
27 <sample-value><type name="T"/></sample-value>
28 </notation>
29 <notation variables="a b">
30 <sample-value><type name="int"/></sample-value>
31 </notation>
32
33 <!--
34 <valid-type-expression name="int-ness">
35 <documentation>Should this really be required?</documentation>
36 <type name="T"/>
37 <return-type>
38 <require-same-type>
39 <type name="int"/>
40 </require-same-type>
41 </return-type>
42 </valid-type-expression>
43 -->
44
45 <valid-expression name="Conversion from int">
46 <construct template-parameters="">
47 <type name="T"/>
48 <sample-value><type name="int"/></sample-value>
49 </construct>
50 <return-type><require-same-type testable="yes">
51 <type name="T"/>
52 </require-same-type></return-type>
53 </valid-expression>
54
55 <valid-expression name="Preincrement">
56 <preincrement>
57 <sample-value>
58 <reference-to><type name="T"/></reference-to>
59 </sample-value>
60 </preincrement>
61 <return-type>
62 <require-same-type testable="yes">
63 <reference-to><type name="T"/></reference-to>
64 </require-same-type>
65 </return-type>
66 </valid-expression>
67
68 <valid-expression name="Predecrement">
69 <predecrement>
70 <sample-value>
71 <reference-to><type name="T"/></reference-to>
72 </sample-value>
73 </predecrement>
74 <return-type>
75 <require-same-type testable="yes">
76 <reference-to><type name="T"/></reference-to>
77 </require-same-type>
78 </return-type>
79 </valid-expression>
80
81 <valid-expression name="Postincrement">
82 <postincrement>
83 <sample-value>
84 <reference-to><type name="T"/></reference-to>
85 </sample-value>
86 </postincrement>
87 <return-type>
88 <require-same-type testable="yes">
89 <type name="T"/>
90 </require-same-type>
91 </return-type>
92 </valid-expression>
93
94 <valid-expression name="Postdecrement">
95 <postdecrement>
96 <sample-value>
97 <reference-to><type name="T"/></reference-to>
98 </sample-value>
99 </postdecrement>
100 <return-type>
101 <require-same-type testable="yes">
102 <type name="T"/>
103 </require-same-type>
104 </return-type>
105 </valid-expression>
106
107 <valid-expression name="Sum">
108 <add>
109 <sample-value>
110 <type name="T"/>
111 </sample-value>
112 <sample-value>
113 <type name="T"/>
114 </sample-value>
115 </add>
116 <return-type>
117 <require-same-type testable="yes">
118 <type name="T"/>
119 </require-same-type>
120 </return-type>
121 </valid-expression>
122
123 <valid-expression name="Sum with int">
124 <add>
125 <sample-value>
126 <type name="T"/>
127 </sample-value>
128 <sample-value>
129 <type name="int"/>
130 </sample-value>
131 </add>
132 <return-type>
133 <require-same-type testable="yes">
134 <type name="T"/>
135 </require-same-type>
136 </return-type>
137 </valid-expression>
138
139 <valid-expression name="Sum-assignment">
140 <add-assign>
141 <sample-value>
142 <reference-to><type name="T"/></reference-to>
143 </sample-value>
144 <sample-value>
145 <type name="T"/>
146 </sample-value>
147 </add-assign>
148 <return-type>
149 <require-same-type testable="yes">
150 <reference-to><type name="T"/></reference-to>
151 </require-same-type>
152 </return-type>
153 </valid-expression>
154
155 <valid-expression name="Sum-assignment with int">
156 <add-assign>
157 <sample-value>
158 <reference-to><type name="T"/></reference-to>
159 </sample-value>
160 <sample-value>
161 <type name="int"/>
162 </sample-value>
163 </add-assign>
164 <return-type>
165 <require-same-type testable="yes">
166 <reference-to><type name="T"/></reference-to>
167 </require-same-type>
168 </return-type>
169 </valid-expression>
170
171 <valid-expression name="Difference">
172 <subtract>
173 <sample-value>
174 <type name="T"/>
175 </sample-value>
176 <sample-value>
177 <type name="T"/>
178 </sample-value>
179 </subtract>
180 <return-type>
181 <require-same-type testable="yes">
182 <type name="T"/>
183 </require-same-type>
184 </return-type>
185 </valid-expression>
186
187 <valid-expression name="Difference with int">
188 <subtract>
189 <sample-value>
190 <type name="T"/>
191 </sample-value>
192 <sample-value>
193 <type name="int"/>
194 </sample-value>
195 </subtract>
196 <return-type>
197 <require-same-type testable="yes">
198 <type name="T"/>
199 </require-same-type>
200 </return-type>
201 </valid-expression>
202
203 <valid-expression name="Product">
204 <multiply>
205 <sample-value>
206 <type name="T"/>
207 </sample-value>
208 <sample-value>
209 <type name="T"/>
210 </sample-value>
211 </multiply>
212 <return-type>
213 <require-same-type testable="yes">
214 <type name="T"/>
215 </require-same-type>
216 </return-type>
217 </valid-expression>
218
219 <valid-expression name="Product with int">
220 <multiply>
221 <sample-value>
222 <type name="T"/>
223 </sample-value>
224 <sample-value>
225 <type name="int"/>
226 </sample-value>
227 </multiply>
228 <return-type>
229 <require-same-type testable="yes">
230 <type name="T"/>
231 </require-same-type>
232 </return-type>
233 </valid-expression>
234
235 <valid-expression name="Product-assignment with int">
236 <multiply-assign>
237 <sample-value>
238 <reference-to><type name="T"/></reference-to>
239 </sample-value>
240 <sample-value>
241 <type name="int"/>
242 </sample-value>
243 </multiply-assign>
244 <return-type>
245 <require-same-type testable="yes">
246 <reference-to><type name="T"/></reference-to>
247 </require-same-type>
248 </return-type>
249 </valid-expression>
250
251 <valid-expression name="Product with int on left">
252 <multiply>
253 <sample-value>
254 <type name="int"/>
255 </sample-value>
256 <sample-value>
257 <type name="T"/>
258 </sample-value>
259 </multiply>
260 <return-type>
261 <require-same-type testable="yes">
262 <type name="T"/>
263 </require-same-type>
264 </return-type>
265 </valid-expression>
266
267 <valid-expression name="Quotient">
268 <divide>
269 <sample-value>
270 <type name="T"/>
271 </sample-value>
272 <sample-value>
273 <type name="T"/>
274 </sample-value>
275 </divide>
276 <return-type>
277 <require-same-type testable="yes">
278 <type name="T"/>
279 </require-same-type>
280 </return-type>
281 </valid-expression>
282
283 <valid-expression name="Quotient with int">
284 <divide>
285 <sample-value>
286 <type name="T"/>
287 </sample-value>
288 <sample-value>
289 <type name="int"/>
290 </sample-value>
291 </divide>
292 <return-type>
293 <require-same-type testable="yes">
294 <type name="T"/>
295 </require-same-type>
296 </return-type>
297 </valid-expression>
298
299 <valid-expression name="Right-shift">
300 <shift-right>
301 <sample-value>
302 <type name="T"/>
303 </sample-value>
304 <sample-value>
305 <type name="T"/>
306 </sample-value>
307 </shift-right>
308 <return-type>
309 <require-same-type testable="yes">
310 <type name="T"/>
311 </require-same-type>
312 </return-type>
313 </valid-expression>
314
315 <valid-expression name="Right-shift with int">
316 <shift-right>
317 <sample-value>
318 <type name="T"/>
319 </sample-value>
320 <sample-value>
321 <type name="int"/>
322 </sample-value>
323 </shift-right>
324 <return-type>
325 <require-same-type testable="yes">
326 <type name="T"/>
327 </require-same-type>
328 </return-type>
329 </valid-expression>
330
331 <valid-expression name="Right-shift-assignment with int">
332 <shift-right-assign>
333 <sample-value>
334 <reference-to><type name="T"/></reference-to>
335 </sample-value>
336 <sample-value>
337 <type name="int"/>
338 </sample-value>
339 </shift-right-assign>
340 <return-type>
341 <require-same-type testable="yes">
342 <reference-to><type name="T"/></reference-to>
343 </require-same-type>
344 </return-type>
345 </valid-expression>
346
347 <valid-expression name="Less-than comparison">
348 <less-than>
349 <sample-value>
350 <type name="T"/>
351 </sample-value>
352 <sample-value>
353 <type name="T"/>
354 </sample-value>
355 </less-than>
356 <return-type>
357 <convertible-to testable="yes">
358 <type name="bool"/>
359 </convertible-to>
360 </return-type>
361 </valid-expression>
362
363 <valid-expression name="Less-than comparison with int">
364 <less-than>
365 <sample-value>
366 <type name="T"/>
367 </sample-value>
368 <sample-value>
369 <type name="int"/>
370 </sample-value>
371 </less-than>
372 <return-type>
373 <convertible-to testable="yes">
374 <type name="bool"/>
375 </convertible-to>
376 </return-type>
377 </valid-expression>
378
379 <valid-expression name="Less-than comparison with size_t">
380 <less-than>
381 <sample-value>
382 <type name="T"/>
383 </sample-value>
384 <sample-value>
385 <type name="std::size_t"/>
386 </sample-value>
387 </less-than>
388 <return-type>
389 <convertible-to testable="yes">
390 <type name="bool"/>
391 </convertible-to>
392 </return-type>
393 </valid-expression>
394
395 <valid-expression name="Greater-than comparison">
396 <greater-than>
397 <sample-value>
398 <type name="T"/>
399 </sample-value>
400 <sample-value>
401 <type name="T"/>
402 </sample-value>
403 </greater-than>
404 <return-type>
405 <convertible-to testable="yes">
406 <type name="bool"/>
407 </convertible-to>
408 </return-type>
409 </valid-expression>
410
411 <valid-expression name="Greater-than comparison with int">
412 <greater-than>
413 <sample-value>
414 <type name="T"/>
415 </sample-value>
416 <sample-value>
417 <type name="int"/>
418 </sample-value>
419 </greater-than>
420 <return-type>
421 <convertible-to testable="yes">
422 <type name="bool"/>
423 </convertible-to>
424 </return-type>
425 </valid-expression>
426
427 <valid-expression name="Less-than-or-equal comparison">
428 <less-than-or-equal>
429 <sample-value>
430 <type name="T"/>
431 </sample-value>
432 <sample-value>
433 <type name="T"/>
434 </sample-value>
435 </less-than-or-equal>
436 <return-type>
437 <convertible-to testable="yes">
438 <type name="bool"/>
439 </convertible-to>
440 </return-type>
441 </valid-expression>
442
443 <valid-expression name="Less-than-or-equal comparison with int">
444 <less-than-or-equal>
445 <sample-value>
446 <type name="T"/>
447 </sample-value>
448 <sample-value>
449 <type name="int"/>
450 </sample-value>
451 </less-than-or-equal>
452 <return-type>
453 <convertible-to testable="yes">
454 <type name="bool"/>
455 </convertible-to>
456 </return-type>
457 </valid-expression>
458
459 <valid-expression name="Greater-than-or-equal comparison">
460 <greater-than-or-equal>
461 <sample-value>
462 <type name="T"/>
463 </sample-value>
464 <sample-value>
465 <type name="T"/>
466 </sample-value>
467 </greater-than-or-equal>
468 <return-type>
469 <convertible-to testable="yes">
470 <type name="bool"/>
471 </convertible-to>
472 </return-type>
473 </valid-expression>
474
475 <valid-expression name="Greater-than-or-equal comparison with int">
476 <greater-than-or-equal>
477 <sample-value>
478 <type name="T"/>
479 </sample-value>
480 <sample-value>
481 <type name="int"/>
482 </sample-value>
483 </greater-than-or-equal>
484 <return-type>
485 <convertible-to testable="yes">
486 <type name="bool"/>
487 </convertible-to>
488 </return-type>
489 </valid-expression>
490
491 <valid-expression name="Greater-than-or-equal comparison with int on left">
492 <greater-than-or-equal>
493 <sample-value>
494 <type name="int"/>
495 </sample-value>
496 <sample-value>
497 <type name="T"/>
498 </sample-value>
499 </greater-than-or-equal>
500 <return-type>
501 <convertible-to testable="yes">
502 <type name="bool"/>
503 </convertible-to>
504 </return-type>
505 </valid-expression>
506
507 <valid-expression name="Equality comparison">
508 <equal-to>
509 <sample-value>
510 <type name="T"/>
511 </sample-value>
512 <sample-value>
513 <type name="T"/>
514 </sample-value>
515 </equal-to>
516 <return-type>
517 <convertible-to testable="yes">
518 <type name="bool"/>
519 </convertible-to>
520 </return-type>
521 </valid-expression>
522
523 <valid-expression name="Equality comparison with int">
524 <equal-to>
525 <sample-value>
526 <type name="T"/>
527 </sample-value>
528 <sample-value>
529 <type name="int"/>
530 </sample-value>
531 </equal-to>
532 <return-type>
533 <convertible-to testable="yes">
534 <type name="bool"/>
535 </convertible-to>
536 </return-type>
537 </valid-expression>
538
539 <valid-type-expression name="Conversion to int">
540 <documentation/>
541 <type name="T"/>
542 <return-type>
543 <convertible-to testable="yes">
544 <type name="int"/>
545 </convertible-to>
546 </return-type>
547 </valid-type-expression>
548
549</concept>