An operation is simply an operation that may be done upon elements, such as addition and comparison.
| typedef unsigned char Hash | Hash | 
| Oper (Hash hash, unsigned arity) | Oper | 
| ~Oper () | ~Oper | 
[virtual]
| unsigned  arity () | arity | 
[const]
Returns: number of arguments operation takes
| string  str () | str | 
[const pure virtual]
Must be unique.
Returns: string representation of operation.
| Hash  hash () | hash | 
[const]