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