1
<html><head><TITLE>DiagramChecks</TITLE></head>
3
<H2><A HREF ="#DOC.DOCU" > <IMG BORDER=0 SRC=down.gif></A> class DiagramChecks </H2><BLOCKQUOTE>
4
implements generic checks for soft constraints on diagrams.
8
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=215>
9
<param name=classes value="CDiagramChecks,MDiagramChecks.html,CSTChecks,MSTChecks.html,CSNChecks,MSNChecks.html,CPSChecks,MPSChecks.html,CERChecks,MERChecks.html,CDFChecks,MDFChecks.html,CATChecks,MATChecks.html">
10
<param name=before value="M,M|_,MR_,MR_,MR_,MR_,Mr_">
11
<param name=after value="M,M,M,M,M,M,M">
12
<param name=indent value="0,0,0,0,0,0,0">
13
<param name=arrowdir value="down">
19
<DT><h3>Public Methods</h3><DD><TR><TD VALIGN=top><A HREF="#DOC.110.1"> <IMG BORDER=0 SRC=icon1.gif></A> </TD><TD><B>DiagramChecks</B> (<!1><A HREF="Diagram.html">Diagram</A> *d, <!1><A HREF="Graph.html">Graph</A> *g)<br>
21
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.2"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckNodeCount</B> (unsigned count, int nodeType, <!1><A HREF="string.html">string</A> &chkbuf)<br>
22
<I> diagram should have count nodes of nodeType.</I>
23
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.3"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckNodeCount</B> (unsigned min, unsigned max, int nodeType, <!1><A HREF="string.html">string</A> &chkbuf)<br>
24
<I> diagram should have min <= count <= max nodes of nodeType.</I>
25
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.4"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckEdgeCount</B> (unsigned count, int edgeType, <!1><A HREF="string.html">string</A> &chkbuf)<br>
26
<I> diagram should have count edges of edgeType</I>
27
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.5"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckEdgeCount</B> (unsigned min, unsigned max, int edgeType, <!1><A HREF="string.html">string</A> &chkbuf)<br>
28
<I> diagram should have min <= count <= max edges of edgeType.</I>
29
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.6"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckDoubleIndexes</B> (<!1><A HREF="string.html">string</A> &chkbuf)<br>
30
<I> check that nodes unique indexes.</I>
31
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.7"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckNamelessNodes</B> (int nodeType, <!1><A HREF="string.html">string</A> &chkbuf)<br>
32
<I> diagram should have no nameless nodes of nodeType</I>
33
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.8"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckNamelessEdges</B> (int edgeType, <!1><A HREF="string.html">string</A> &chkbuf)<br>
34
<I> diagram should have no nameless edges of edgeType</I>
35
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.9"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckIllegalNodeNames</B> (int nodeType, const <!1><A HREF="string.html">string</A> *name, <!1><A HREF="string.html">string</A> &chkbuf)<br>
36
<I> diagram should have no nodes of nodeType named 'name'. </I>
37
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.10"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckIllegalEdgeNames</B> (int edgeType, const <!1><A HREF="string.html">string</A> *name, <!1><A HREF="string.html">string</A> &chkbuf)<br>
38
<I> diagram should have no edges of edgeType named 'name'.</I>
39
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.11"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckNamelessEdges</B> ( int edgeType, int type1, int type2, <!1><A HREF="string.html">string</A> &chkbuf)<br>
40
<I> diagram should have no nameless edges of edgeType between types. </I>
41
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.12"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckDoubleNamelessEdges</B> (int edgeType, int type1, int type2, <!1><A HREF="string.html">string</A> &chkbuf)<br>
42
<I> diagram shouldn't have double nameless edges between these types. </I>
43
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.13"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckDoubleNodes</B> (int nodeType, <!1><A HREF="string.html">string</A> &chkbuf)<br>
44
<I> diagram should not have multiple nodes of nodeType with same name.</I>
45
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.14"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckConnected</B> (int nodeType, bool index, <!1><A HREF="string.html">string</A> &chkbuf)<br>
46
<I> nodeType nodes should be connected (index: name or index in msg)</I>
47
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.15"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckConnected</B> (int nodeType, int toNode, int min, int max, bool index, <!1><A HREF="string.html">string</A> &chkbuf)<br>
48
<I> nodeType nodes should be connected (index: name or index in msg)</I>
49
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.16"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckJunctionCoherence</B> (int nodeType, int parenttype, int childtype, unsigned minChildren, <!1><A HREF="string.html">string</A> &chkbuf)<br>
50
<I> nodes of nodeType connected by 1 parent edge and minChildren edges.</I>
51
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.17"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckCountEdgesFrom</B> (int nodeType, int edgeType, unsigned min, unsigned max, bool zeroAllowed, bool index, <!1><A HREF="string.html">string</A> &chkbuf)<br>
52
<I> nodes of nodeType should have min/max departing edges of edgeType.</I>
53
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.18"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckReachability</B> (int rootType, int nodeType, bool index, <!1><A HREF="string.html">string</A> &chkbuf)<br>
54
<I> nodes of nodeType are reachable from >= 1 nodes of rootType.</I>
55
</TD></TR></TABLE><TABLE>
56
<DT><h3>Protected Methods</h3><DD><TR><TD VALIGN=top><A HREF="#DOC.110.19"> <IMG BORDER=0 SRC=icon1.gif></A> <!1><A HREF="Graph.html">Graph</A>* </TD><TD><B>GetGraph</B> () const <br>
58
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.20"> <IMG BORDER=0 SRC=icon1.gif></A> <!1><A HREF="Diagram.html">Diagram</A>* </TD><TD><B>GetDiagram</B> () const <br>
60
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.21"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckCount</B> (unsigned min, unsigned max, int type, <!1><A HREF="string.html">string</A> &chkbuf, bool node)<br>
62
</TD></TR><TR><TD VALIGN=top><A HREF="#DOC.110.22"> <IMG BORDER=0 SRC=icon1.gif></A> unsigned </TD><TD><B>CheckIllegalNames</B> (int type, const <!1><A HREF="string.html">string</A> *name, <!1><A HREF="string.html">string</A> &chkbuf, bool node)<br>
64
</TD></TR></TABLE></DL>
67
<h2> Documentation </h2>
69
implements generic checks for soft constraints on diagrams.
74
<A NAME="DiagramChecks">
76
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> DiagramChecks(<!1><A HREF="Diagram.html">Diagram</A> *d, <!1><A HREF="Graph.html">Graph</A> *g)</B></TT>
78
<A NAME="CheckNodeCount">
80
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckNodeCount(unsigned count, int nodeType, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
81
<DD> diagram should have count nodes of nodeType.
83
<A NAME="CheckNodeCount">
85
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckNodeCount(unsigned min, unsigned max, int nodeType, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
86
<DD> diagram should have min <= count <= max nodes of nodeType.
88
<A NAME="CheckEdgeCount">
90
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckEdgeCount(unsigned count, int edgeType, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
91
<DD> diagram should have count edges of edgeType
93
<A NAME="CheckEdgeCount">
95
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckEdgeCount(unsigned min, unsigned max, int edgeType, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
96
<DD> diagram should have min <= count <= max edges of edgeType.
98
<A NAME="CheckDoubleIndexes">
100
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckDoubleIndexes(<!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
101
<DD> check that nodes unique indexes.
103
<A NAME="CheckNamelessNodes">
104
<A NAME ="DOC.110.7">
105
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckNamelessNodes(int nodeType, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
106
<DD> diagram should have no nameless nodes of nodeType
108
<A NAME="CheckNamelessEdges">
109
<A NAME ="DOC.110.8">
110
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckNamelessEdges(int edgeType, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
111
<DD> diagram should have no nameless edges of edgeType
113
<A NAME="CheckIllegalNodeNames">
114
<A NAME ="DOC.110.9">
115
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckIllegalNodeNames(int nodeType, const <!1><A HREF="string.html">string</A> *name, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
116
<DD> diagram should have no nodes of nodeType named 'name'.
118
<A NAME="CheckIllegalEdgeNames">
119
<A NAME ="DOC.110.10">
120
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckIllegalEdgeNames(int edgeType, const <!1><A HREF="string.html">string</A> *name, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
121
<DD> diagram should have no edges of edgeType named 'name'.
123
<A NAME="CheckNamelessEdges">
124
<A NAME ="DOC.110.11">
125
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckNamelessEdges( int edgeType, int type1, int type2, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
126
<DD> diagram should have no nameless edges of edgeType between types.
128
<A NAME="CheckDoubleNamelessEdges">
129
<A NAME ="DOC.110.12">
130
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckDoubleNamelessEdges(int edgeType, int type1, int type2, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
131
<DD> diagram shouldn't have double nameless edges between these types.
133
<A NAME="CheckDoubleNodes">
134
<A NAME ="DOC.110.13">
135
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckDoubleNodes(int nodeType, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
136
<DD> diagram should not have multiple nodes of nodeType with same name.
138
<A NAME="CheckConnected">
139
<A NAME ="DOC.110.14">
140
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckConnected(int nodeType, bool index, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
141
<DD> nodeType nodes should be connected (index: name or index in msg)
143
<A NAME="CheckConnected">
144
<A NAME ="DOC.110.15">
145
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckConnected(int nodeType, int toNode, int min, int max, bool index, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
146
<DD> nodeType nodes should be connected (index: name or index in msg)
148
<A NAME="CheckJunctionCoherence">
149
<A NAME ="DOC.110.16">
150
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckJunctionCoherence(int nodeType, int parenttype, int childtype, unsigned minChildren, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
151
<DD> nodes of nodeType connected by 1 parent edge and minChildren edges.
153
<A NAME="CheckCountEdgesFrom">
154
<A NAME ="DOC.110.17">
155
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckCountEdgesFrom(int nodeType, int edgeType, unsigned min, unsigned max, bool zeroAllowed, bool index, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
156
<DD> nodes of nodeType should have min/max departing edges of edgeType.
158
<A NAME="CheckReachability">
159
<A NAME ="DOC.110.18">
160
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckReachability(int rootType, int nodeType, bool index, <!1><A HREF="string.html">string</A> &chkbuf)</B></TT>
161
<DD> nodes of nodeType are reachable from >= 1 nodes of rootType.
164
<A NAME ="DOC.110.19">
165
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> <!1><A HREF="Graph.html">Graph</A>* GetGraph() const </B></TT>
167
<A NAME="GetDiagram">
168
<A NAME ="DOC.110.20">
169
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> <!1><A HREF="Diagram.html">Diagram</A>* GetDiagram() const </B></TT>
171
<A NAME="CheckCount">
172
<A NAME ="DOC.110.21">
173
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckCount(unsigned min, unsigned max, int type, <!1><A HREF="string.html">string</A> &chkbuf, bool node)</B></TT>
175
<A NAME="CheckIllegalNames">
176
<A NAME ="DOC.110.22">
177
<DT><IMG BORDER=0 SRC=icon2.gif><TT><B> unsigned CheckIllegalNames(int type, const <!1><A HREF="string.html">string</A> *name, <!1><A HREF="string.html">string</A> &chkbuf, bool node)</B></TT>
180
<DL><DT><B>Direct child classes:
181
</B><DD><A HREF="STChecks.html"> STChecks </A><br>
182
<A HREF="SNChecks.html"> SNChecks </A><br>
183
<A HREF="PSChecks.html"> PSChecks </A><br>
184
<A HREF="ERChecks.html"> ERChecks </A><br>
185
<A HREF="DFChecks.html"> DFChecks </A><br>
186
<A HREF="ATChecks.html"> ATChecks </A><br>
188
<DL></DL><P><I><A HREF="aindex.html"> alphabetic index</A></I> <I><A HREF="HIER.html"> hierarchy of classes</A></I><P><hr>
189
<A HREF="http://www.zib.de/Visual/software/doc++/index.html"><IMG BORDER=0 ALIGN=RIGHT SRC=logo.gif></A>
190
<P Align=Center><I>this page has been generated automatically by doc++</I>
191
<P Align=Center><I>(c)opyright by <A HREF="http://www.zib.de/zoeckler/"> Malte Zöckler</A>, <A HREF="mailto:wunderling@zib.de"> Roland Wunderling </A><br>contact: <A HREF="mailto:doc++@zib.de"> doc++@zib.de</a></I>