source: libcfa/src/enum.cfa@ bc07190

Last change on this file since bc07190 was 259012e, checked in by Peter A. Buhr <pabuhr@…>, 15 months ago

put back quasi_void print

  • Property mode set to 100644
File size: 760 bytes
Line 
1#include "enum.hfa"
2#include "fstream.hfa"
3
4#pragma GCC visibility push(default)
5
6forall( ostype & | basic_ostream(ostype), E, V | CfaEnum(E, V) ) {
7 ostype & ?|?( ostype& os, E e ) {
8 return os | label( e );
9 }
10 OSTYPE_VOID_IMPL( E )
11}
12
13forall( ostype & | basic_ostream(ostype), E | CfaEnum(E, quasi_void) )
14ostype & ?|?( ostype & os, E e ) {
15 return os | label( e );
16}
17
18forall( E, V | CfaEnum(E, V) ) { // relational operators
19 int ?==?(E l, E r) { return posn(l) == posn(r); }
20 int ?!=?(E l, E r) { return posn(l) != posn(r); }
21 int ?<?(E l, E r) { return posn(l) < posn(r); }
22 int ?<=?(E l, E r) { return posn(l) <= posn(r); }
23 int ?>?(E l, E r) { return posn(l) > posn(r); }
24 int ?>=?(E l, E r) { return posn(l) >= posn(r); }
25}
Note: See TracBrowser for help on using the repository browser.