This is a list of functions that if defined in a type, will be treated as an operator overload. logicalnot not neg add sub mul div modulo assign or and logicalor logicaland shl shr xor lt gt eq neq le ge increment decrement compadd compsub compmul compdiv compmod compand compor compxor compshl compshr