#include "GNURegex.h"
#include "parser.h"
#include "ce_expr.tab.h"
Include dependency graph for Operators.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
class | Cmp< T1, T2 > |
class | StrCmp< T1, T2 > |
class | SUCmp< T1, UT2 > |
class | USCmp< UT1, T2 > |
Functions | |
unsigned | dods_max (int i1, int i2) |
template<class T1, class T2, class C> | |
bool | rops (T1 a, T2 b, int op) |
unsigned dods_max | ( | int | i1, | |
int | i2 | |||
) | [inline] |
Definition at line 47 of file Operators.h.
Referenced by SUCmp< T1, UT2 >::eq(), USCmp< UT1, T2 >::eq(), SUCmp< T1, UT2 >::ge(), USCmp< UT1, T2 >::ge(), SUCmp< T1, UT2 >::gr(), USCmp< UT1, T2 >::gr(), SUCmp< T1, UT2 >::le(), USCmp< UT1, T2 >::le(), SUCmp< T1, UT2 >::lt(), USCmp< UT1, T2 >::lt(), SUCmp< T1, UT2 >::ne(), and USCmp< UT1, T2 >::ne().
bool rops | ( | T1 | a, | |
T2 | b, | |||
int | op | |||
) |
This template function is used to compare two values of two instances of the DAP2 simple types (Byte, ..., Str). The function does not take the DAP2 objects as arguments; the caller must access the values of those objects and pass them to this function. The reason for this is that all the possible functions that could be generated from this template would have to be explicitly listed as friend functions in each of the DAP2 simple type classes. In the current implementation, only the simple type classes must be friends - to see why, look at Byte::ops and note that it accesses the _buf
member of Int16, ..., Float64 and thus must be a friend of those classes.
NB: This would all be simpler if: 1) g++ supported template friend functions (without explicit listing of all the template's arguments). 2) we did not have unsigned types.
T1 The type of a
.
T2 The type of b
.
C A class which implements the policy used for comparing a
and b
.
a | The first argument. | |
b | The second argument. | |
op | The relational operator. |
Definition at line 248 of file Operators.h.
Referenced by UInt32::ops(), UInt16::ops(), Str::ops(), Int32::ops(), Int16::ops(), Float64::ops(), Float32::ops(), and Byte::ops().