Merge branch 'de_oop'

This commit is contained in:
Edward R. Gonzalez 2024-12-11 14:57:47 -05:00
commit 2a025cb073
4 changed files with 27 additions and 43 deletions

View File

@ -73,8 +73,6 @@ The base library itself does not use anything but C-like features to allow for g
Member function support or free-functions with reference object passing are wrapped in `! GEN_C_LIKE CPP` preprocess conditionals. Member function support or free-functions with reference object passing are wrapped in `! GEN_C_LIKE CPP` preprocess conditionals.
## C++ template usage ## C++ template usage
There are only 4 template definitions in the entire library (C++ versions). (`Array<Type>`, `Hashtable<Type>`, `swap<Type>`, and `tmpl_cast<CodeT>(CodeT code)`) There are only 4 template definitions in the entire library (C++ versions). (`Array<Type>`, `Hashtable<Type>`, `swap<Type>`, and `tmpl_cast<CodeT>(CodeT code)`)

View File

@ -309,18 +309,6 @@ struct Code
Code& operator ++(); Code& operator ++();
// TODO(Ed) : Remove this overload.
auto& operator*()
{
local_persist thread_local
Code NullRef = { nullptr };
if ( ast == nullptr )
return NullRef;
return *this;
}
#ifdef GEN_ENFORCE_STRONG_CODE_TYPES #ifdef GEN_ENFORCE_STRONG_CODE_TYPES
# define operator explicit operator # define operator explicit operator
#endif #endif

View File

@ -440,8 +440,6 @@ bool array_set_capacity(Array<Type>* array, usize new_capacity)
#pragma endregion Array #pragma endregion Array
// TODO(Ed) : This thing needs ALOT of work.
#pragma region HashTable #pragma region HashTable
#define HashTable(Type) HashTable<Type> #define HashTable(Type) HashTable<Type>

View File

@ -338,7 +338,7 @@ word CodeOperator, gen_CodeOperator
word CodeOpCast, gen_CodeOpCast word CodeOpCast, gen_CodeOpCast
word CodePragma, gen_CodePragma word CodePragma, gen_CodePragma
word CodeParams, gen_CodeParams word CodeParams, gen_CodeParams
word CodePreprocessCo, gen_CodePreprocessCo word CodePreprocessCond, gen_CodePreprocessCond
word CodeSpecifiers, gen_CodeSpecifiers word CodeSpecifiers, gen_CodeSpecifiers
word CodeTemplate, gen_CodeTemplate word CodeTemplate, gen_CodeTemplate
word CodeTypename, gen_CodeTypename word CodeTypename, gen_CodeTypename