#ifdef GEN_INTELLISENSE_DIRECTIVES #pragma once #include "components/types.hpp" #endif // This file was generated automatially by gencpp's bootstrap.cpp (See: https://github.com/Ed94/gencpp) enum Operator : u32 { Op_Invalid, Op_Assign, Op_Assign_Add, Op_Assign_Subtract, Op_Assign_Multiply, Op_Assign_Divide, Op_Assign_Modulo, Op_Assign_BAnd, Op_Assign_BOr, Op_Assign_BXOr, Op_Assign_LShift, Op_Assign_RShift, Op_Increment, Op_Decrement, Op_Unary_Plus, Op_Unary_Minus, Op_UnaryNot, Op_Add, Op_Subtract, Op_Multiply, Op_Divide, Op_Modulo, Op_BNot, Op_BAnd, Op_BOr, Op_BXOr, Op_LShift, Op_RShift, Op_LAnd, Op_LOr, Op_LEqual, Op_LNot, Op_Lesser, Op_Greater, Op_LesserEqual, Op_GreaterEqual, Op_Subscript, Op_Indirection, Op_AddressOf, Op_MemberOfPointer, Op_PtrToMemOfPtr, Op_FunctionCall, Op_Comma, Op_New, Op_NewArray, Op_Delete, Op_DeleteArray, NumOps }; inline StrC operator_to_str( Operator op ) { local_persist StrC lookup[47] = { { sizeof( "INVALID" ), "INVALID" }, { sizeof( "=" ), "=" }, { sizeof( "+=" ), "+=" }, { sizeof( "-=" ), "-=" }, { sizeof( "*=" ), "*=" }, { sizeof( "/=" ), "/=" }, { sizeof( "%=" ), "%=" }, { sizeof( "&=" ), "&=" }, { sizeof( "|=" ), "|=" }, { sizeof( "^=" ), "^=" }, { sizeof( "<<=" ), "<<=" }, { sizeof( ">>=" ), ">>=" }, { sizeof( "++" ), "++" }, { sizeof( "--" ), "--" }, { sizeof( "+" ), "+" }, { sizeof( "-" ), "-" }, { sizeof( "!" ), "!" }, { sizeof( "+" ), "+" }, { sizeof( "-" ), "-" }, { sizeof( "*" ), "*" }, { sizeof( "/" ), "/" }, { sizeof( "%" ), "%" }, { sizeof( "~" ), "~" }, { sizeof( "&" ), "&" }, { sizeof( "|" ), "|" }, { sizeof( "^" ), "^" }, { sizeof( "<<" ), "<<" }, { sizeof( ">>" ), ">>" }, { sizeof( "&&" ), "&&" }, { sizeof( "||" ), "||" }, { sizeof( "==" ), "==" }, { sizeof( "!=" ), "!=" }, { sizeof( "<" ), "<" }, { sizeof( ">" ), ">" }, { sizeof( "<=" ), "<=" }, { sizeof( ">=" ), ">=" }, { sizeof( "[]" ), "[]" }, { sizeof( "*" ), "*" }, { sizeof( "&" ), "&" }, { sizeof( "->" ), "->" }, { sizeof( "->*" ), "->*" }, { sizeof( "()" ), "()" }, { sizeof( "," ), "," }, { sizeof( "new" ), "new" }, { sizeof( "new[]" ), "new[]" }, { sizeof( "delete" ), "delete" }, { sizeof( "delete[]" ), "delete[]" }, }; return lookup[op]; } forceinline StrC to_str( Operator op ) { return operator_to_str( op ); }