__VERSION 1

// This is a example template to be used with the refactor program
// Use it to refactor the naming convention of this library to your own.
// Can be used as an aid to help use use your project's implementation if it fullfills the dependencies of this project.
// Example: Most likely have a memory and string library already, just rename the functions and make sure the args are the same.
// Program: https://github.com/Ed94/refactor

// NOTE: Due to the current limitations of the program, not every symbol in the library can be renamed.
// This is due to the program not actually parsing C/C++.

// not       : Ignore
// include   : #includes
// word      : Alphanumeric or underscore
// namespace : Prefix search and replace (c-namspaces).
// regex     : Unavailable in __VERSION 1.

// Precedence (highest to lowest):
// word, namespace, regex

// Basic Types

// word b32  new_name
// word s8   new_name
// word s64  new_name
// word u8   new_name
// word u32  new_name
// word u64  new_name
// word uw   new_name
// word sw   new_name
// word sptr new_name
// word uptr new_name

// ZPL Derived

// namespace EAllocator_ new_namespace_
// namespace EFileMode_  new_namespace_
// namespace EFileError_ new_namespace_

// word Arena         new_name
// word AllocatorInfo new_name
// word ArrayHeader   new_name
// word FileInfo      new_name
// word FileError     new_name
// word Pool          new_name

// word Array         new_name
// word HashTable     new_name

// word alloc                new_name
// word alloc_align          new_name
// word assert_crash         new_name
// word char_first_occurence new_name
// word char_is_alpha        new_name
// word char_is_alphanumeric new_name
// word char_is_digit        new_name
// word char_is_hex_digit    new_name
// word char_is_space        new_name
// word crc32                new_name
// word free_all             new_name
// word mem_copy             new_name
// word mem_move             new_name
// word mem_set              new_name
// word process_exit         new_name
// word str_compare          new_name
// word str_copy             new_name
// word str_fmt_buf          new_name
// word str_fmt_va           new_name
// word str_fmt_out_va       new_name
// word str_fmt_out_err_va	 new_name
// word str_len              new_name

// generic API

// word to_str  new_name
// word to_type new_name

// gencpp Types & Constants

// word LogFailType new_name
// word log_failure new_name

// word ECode          new_name
// word EnumT          new_name
// word EnumClass      new_name
// word EnumRegular    new_name
// word UsingT         new_name
// word UsingRegular   new_name
// word UsingNamespace new_name
// word EOperator      new_name
// word OperatorT      new_name
// word ESpecifier     new_name
// word SpecifierT     new_name
// word AccessSpec     new_name
// word ModuleFlag     new_name

// word API_Export new_name
// word API_Import new_name
// word Keyword    new_name

// gencpp Data

// word StringTable  new_name
// word StringCached new_name
// word AST_POD_Size new_name
// word AST          new_name
// word AST_POD      new_name
// word Code         new_name
// word Code_POD     new_name
// word NoCode       new_name

// gencpp API

// word init                             new_name
// word deinit                           new_name

// word get_cached_string                new_name
// word make_code                        new_name
// word make_code_entries                new_name

// word set_allocator_data_arrays        new_name
// word set_allocator_code_pool          new_name
// word set_allocator_code_entries_arena new_name
// word set_allocator_string_arena       new_name
// word set_allocator_string_table       new_name
// word set_allocator_type_table         new_name

// upfront constructor namespace
// namespace def_ new_namespace_

// upfront constructor individual

// word def_attributes      new_name
// word def_comment         new_name
// word def_class           new_name
// word def_enum            new_name
// word def_execution       new_name
// word def_extern_link     new_name
// word def_friend          new_name
// word def_function        new_name
// word def_include         new_name
// word def_module          new_name
// word def_namespace       new_name
// word def_operator        new_name
// word def_param           new_name
// word def_specifier       new_name
// word def_struct          new_name
// word def_template        new_name
// word def_type            new_name
// word def_typedef         new_name
// word def_union           new_name
// word def_using           new_name
// word def_using_namespace new_name
// word def_variable        new_name

// word def_class_body       new_name
// word def_class_body       new_name
// word def_enum_body        new_name
// word def_enum_body        new_name
// word def_export_body      new_name
// word def_export_body      new_name
// word def_extern_link_body new_name
// word def_extern_link_body new_name
// word def_function_body    new_name
// word def_function_body    new_name
// word def_global_body      new_name
// word def_global_body      new_name
// word def_namespace_body   new_name
// word def_namespace_body   new_name
// word def_params           new_name
// word def_params           new_name
// word def_specifiers       new_name
// word def_specifiers       new_name
// word def_struct_body      new_name
// word def_struct_body      new_name
// word def_union_body       new_name
// word def_union_body       new_name

// parse constructor namespace
// namespace parse_ new_namespace_

// parse constructor individual

// word parse_class       new_name
// word parse_enum        new_name
// word parse_export_body new_name
// word parse_extern_link new_name
// word parse_friend      new_name
// word parse_function    new_name
// word parse_global_body new_name
// word parse_namespace   new_name
// word parse_operator    new_name
// word parse_struct      new_name
// word parse_template    new_name
// word parse_type        new_name
// word parse_typedef     new_name
// word parse_union       new_name
// word parse_using       new_name
// word parse_variable    new_name

// untyped constructor namespace
// namespace untyped_ new_namespace_

// untyped constructor individual

// word token_fmt_va      new_name
// word token_fmt         new_name
// word untyped_str       new_name
// word untyped_fmt       new_name
// word untyped_token_fmt new_name

// File Handling

// word Builder new_name
// word Editor  new_name
// word Scanner new_name

// gencpp macros

// word __           new_name
// word code         new_name
// word name         new_name
// word txt          new_name
// word txt_to_StrC  new_name

// Type AST namespace
// namespace t_ new_namespace_

// Specifier AST namespace
// namespace spec_ new_namespace_