Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/libs/concept_check/doc/reference/SignedInteger.xml @ 29

Last change on this file since 29 was 29, checked in by landauf, 16 years ago

updated boost from 1_33_1 to 1_34_1

File size: 12.9 KB
Line 
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>
Note: See TracBrowser for help on using the repository browser.