• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0"?>
2<concept name="EqualityComparable" 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="X" role="comparable-type"/>
17
18  <models-sentence>The type <arg num="1"/> must be a model of
19  <self/>.</models-sentence>
20
21  <description><para>Equality Comparable types must have <code>==</code> and
22  <code>!=</code> operators.</para></description>
23
24  <notation variables="x y">
25    <sample-value>
26      <type name="X"/>
27    </sample-value>
28  </notation>
29
30  <valid-expression name="Equality test">
31    <equal-to>
32      <sample-value><type name="X"/></sample-value>
33      <sample-value><type name="X"/></sample-value>
34    </equal-to>
35    <return-type>
36      <convertible-to testable="yes">
37	<type name="bool"/>
38      </convertible-to>
39    </return-type>
40  </valid-expression>
41
42  <valid-expression name="Inequality test">
43    <not-equal-to>
44      <sample-value><type name="X"/></sample-value>
45      <sample-value><type name="X"/></sample-value>
46    </not-equal-to>
47    <return-type>
48      <convertible-to testable="yes">
49	<type name="bool"/>
50      </convertible-to>
51    </return-type>
52  </valid-expression>
53
54  <example-model>
55    <type name="int"/>
56  </example-model>
57
58  <example-model>
59    <apply-template name="std::vector">
60      <type name="int"/>
61    </apply-template>
62  </example-model>
63</concept>
64