mirror of
https://github.com/Ed94/gencpp.git
synced 2025-02-23 21:58:37 -08:00
more adjustments based on odin binding drafting
This commit is contained in:
parent
e457191f5d
commit
1f958e121c
@ -191,7 +191,7 @@ These require the following to be handled to the equivalent extent as the other
|
|||||||
4. [ast.cpp](./components/ast.cpp): Need to review
|
4. [ast.cpp](./components/ast.cpp): Need to review
|
||||||
* `code_debug_str`
|
* `code_debug_str`
|
||||||
* `code_is_equal`
|
* `code_is_equal`
|
||||||
* `code_to_strbuilder_ptr`
|
* `code_to_strbuilder_ref`
|
||||||
* `code_validate_body`
|
* `code_validate_body`
|
||||||
5. [code_serialization.cpp](./components/code_serialization.cpp): Define serialization here.
|
5. [code_serialization.cpp](./components/code_serialization.cpp): Define serialization here.
|
||||||
6. [inlines.hpp](./components/inlines.hpp): Any inline definitions for the `struct Code<Name>` are defined here.
|
6. [inlines.hpp](./components/inlines.hpp): Any inline definitions for the `struct Code<Name>` are defined here.
|
||||||
|
@ -379,11 +379,11 @@ Code code_duplicate(Code self)
|
|||||||
StrBuilder code_to_strbuilder(Code self)
|
StrBuilder code_to_strbuilder(Code self)
|
||||||
{
|
{
|
||||||
StrBuilder result = strbuilder_make_str( _ctx->Allocator_Temp, txt("") );
|
StrBuilder result = strbuilder_make_str( _ctx->Allocator_Temp, txt("") );
|
||||||
code_to_strbuilder_ptr( self, & result );
|
code_to_strbuilder_ref( self, & result );
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void code_to_strbuilder_ptr( Code self, StrBuilder* result )
|
void code_to_strbuilder_ref( Code self, StrBuilder* result )
|
||||||
{
|
{
|
||||||
GEN_ASSERT(self != nullptr);
|
GEN_ASSERT(self != nullptr);
|
||||||
local_persist thread_local
|
local_persist thread_local
|
||||||
|
@ -193,6 +193,7 @@ typedef AST_Stmt_If* CodeStmt_If;
|
|||||||
typedef AST_Stmt_For* CodeStmt_For;
|
typedef AST_Stmt_For* CodeStmt_For;
|
||||||
typedef AST_Stmt_Goto* CodeStmt_Goto;
|
typedef AST_Stmt_Goto* CodeStmt_Goto;
|
||||||
typedef AST_Stmt_Label* CodeStmt_Label;
|
typedef AST_Stmt_Label* CodeStmt_Label;
|
||||||
|
typedef AST_Stmt_Lambda* CodeStmt_Lambda;
|
||||||
typedef AST_Stmt_Switch* CodeStmt_Switch;
|
typedef AST_Stmt_Switch* CodeStmt_Switch;
|
||||||
typedef AST_Stmt_While* CodeStmt_While;
|
typedef AST_Stmt_While* CodeStmt_While;
|
||||||
#else
|
#else
|
||||||
@ -208,6 +209,7 @@ struct CodeStmt_If;
|
|||||||
struct CodeStmt_For;
|
struct CodeStmt_For;
|
||||||
struct CodeStmt_Goto;
|
struct CodeStmt_Goto;
|
||||||
struct CodeStmt_Label;
|
struct CodeStmt_Label;
|
||||||
|
struct CodeStmt_Lambda;
|
||||||
struct CodeStmt_Switch;
|
struct CodeStmt_Switch;
|
||||||
struct CodeStmt_While;
|
struct CodeStmt_While;
|
||||||
#endif
|
#endif
|
||||||
@ -249,7 +251,7 @@ GEN_API bool code_is_equal (Code code, Code other);
|
|||||||
bool code_is_valid (Code code);
|
bool code_is_valid (Code code);
|
||||||
void code_set_global (Code code);
|
void code_set_global (Code code);
|
||||||
GEN_API StrBuilder code_to_strbuilder (Code self );
|
GEN_API StrBuilder code_to_strbuilder (Code self );
|
||||||
GEN_API void code_to_strbuilder_ptr(Code self, StrBuilder* result );
|
GEN_API void code_to_strbuilder_ref(Code self, StrBuilder* result );
|
||||||
Str code_type_str (Code self );
|
Str code_type_str (Code self );
|
||||||
GEN_API bool code_validate_body (Code self );
|
GEN_API bool code_validate_body (Code self );
|
||||||
|
|
||||||
@ -287,7 +289,7 @@ struct Code
|
|||||||
forceinline Code* entry(u32 idx) { return code_entry(* this, idx); }
|
forceinline Code* entry(u32 idx) { return code_entry(* this, idx); }
|
||||||
forceinline bool has_entries() { return code_has_entries(* this); }
|
forceinline bool has_entries() { return code_has_entries(* this); }
|
||||||
forceinline StrBuilder to_strbuilder() { return code_to_strbuilder(* this); }
|
forceinline StrBuilder to_strbuilder() { return code_to_strbuilder(* this); }
|
||||||
forceinline void to_strbuilder(StrBuilder& result) { return code_to_strbuilder_ptr(* this, & result); }
|
forceinline void to_strbuilder(StrBuilder& result) { return code_to_strbuilder_ref(* this, & result); }
|
||||||
forceinline Str type_str() { return code_type_str(* this); }
|
forceinline Str type_str() { return code_type_str(* this); }
|
||||||
forceinline bool validate_body() { return code_validate_body(*this); }
|
forceinline bool validate_body() { return code_validate_body(*this); }
|
||||||
#endif
|
#endif
|
||||||
|
@ -42,7 +42,7 @@ void body_to_strbuilder_export( CodeBody body, StrBuilder* result )
|
|||||||
s32 left = body->NumEntries;
|
s32 left = body->NumEntries;
|
||||||
while ( left-- )
|
while ( left-- )
|
||||||
{
|
{
|
||||||
code_to_strbuilder_ptr(curr, result);
|
code_to_strbuilder_ref(curr, result);
|
||||||
// strbuilder_append_fmt( result, "%SB", code_to_strbuilder(curr) );
|
// strbuilder_append_fmt( result, "%SB", code_to_strbuilder(curr) );
|
||||||
++curr;
|
++curr;
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
GEN_API void body_append ( CodeBody body, Code other );
|
GEN_API void body_append ( CodeBody body, Code other );
|
||||||
GEN_API void body_append_body ( CodeBody body, CodeBody other );
|
GEN_API void body_append_body ( CodeBody body, CodeBody other );
|
||||||
GEN_API StrBuilder body_to_strbuilder ( CodeBody body );
|
GEN_API StrBuilder body_to_strbuilder ( CodeBody body );
|
||||||
GEN_API void body_to_strbuilder_ref ( CodeBody body, StrBuilder* result );
|
void body_to_strbuilder_ref ( CodeBody body, StrBuilder* result );
|
||||||
GEN_API void body_to_strbuilder_export( CodeBody body, StrBuilder* result );
|
GEN_API void body_to_strbuilder_export( CodeBody body, StrBuilder* result );
|
||||||
|
|
||||||
Code begin_CodeBody( CodeBody body);
|
Code begin_CodeBody( CodeBody body);
|
||||||
@ -35,7 +35,7 @@ GEN_API void class_to_strbuilder_fwd( CodeClass self, StrBuilder* result )
|
|||||||
void define_params_append (CodeDefineParams appendee, CodeDefineParams other );
|
void define_params_append (CodeDefineParams appendee, CodeDefineParams other );
|
||||||
CodeDefineParams define_params_get (CodeDefineParams params, s32 idx);
|
CodeDefineParams define_params_get (CodeDefineParams params, s32 idx);
|
||||||
bool define_params_has_entries (CodeDefineParams params );
|
bool define_params_has_entries (CodeDefineParams params );
|
||||||
GEN_API StrBuilder define_params_to_strbuilder (CodeDefineParams params );
|
StrBuilder define_params_to_strbuilder (CodeDefineParams params );
|
||||||
GEN_API void define_params_to_strbuilder_ref(CodeDefineParams params, StrBuilder* result );
|
GEN_API void define_params_to_strbuilder_ref(CodeDefineParams params, StrBuilder* result );
|
||||||
|
|
||||||
CodeDefineParams begin_CodeDefineParams(CodeDefineParams params);
|
CodeDefineParams begin_CodeDefineParams(CodeDefineParams params);
|
||||||
@ -45,7 +45,7 @@ CodeDefineParams next_CodeDefineParams (CodeDefineParams params, CodeDefineParam
|
|||||||
void params_append (CodeParams appendee, CodeParams other );
|
void params_append (CodeParams appendee, CodeParams other );
|
||||||
CodeParams params_get (CodeParams params, s32 idx);
|
CodeParams params_get (CodeParams params, s32 idx);
|
||||||
bool params_has_entries (CodeParams params );
|
bool params_has_entries (CodeParams params );
|
||||||
GEN_API StrBuilder params_to_strbuilder (CodeParams params );
|
StrBuilder params_to_strbuilder (CodeParams params );
|
||||||
GEN_API void params_to_strbuilder_ref(CodeParams params, StrBuilder* result );
|
GEN_API void params_to_strbuilder_ref(CodeParams params, StrBuilder* result );
|
||||||
|
|
||||||
CodeParams begin_CodeParams(CodeParams params);
|
CodeParams begin_CodeParams(CodeParams params);
|
||||||
@ -56,7 +56,7 @@ CodeParams next_CodeParams (CodeParams params, CodeParams entry_iter);
|
|||||||
bool specifiers_has (CodeSpecifiers specifiers, Specifier spec);
|
bool specifiers_has (CodeSpecifiers specifiers, Specifier spec);
|
||||||
s32 specifiers_index_of (CodeSpecifiers specifiers, Specifier spec);
|
s32 specifiers_index_of (CodeSpecifiers specifiers, Specifier spec);
|
||||||
s32 specifiers_remove (CodeSpecifiers specifiers, Specifier to_remove );
|
s32 specifiers_remove (CodeSpecifiers specifiers, Specifier to_remove );
|
||||||
GEN_API StrBuilder specifiers_to_strbuilder (CodeSpecifiers specifiers);
|
StrBuilder specifiers_to_strbuilder (CodeSpecifiers specifiers);
|
||||||
GEN_API void specifiers_to_strbuilder_ref(CodeSpecifiers specifiers, StrBuilder* result);
|
GEN_API void specifiers_to_strbuilder_ref(CodeSpecifiers specifiers, StrBuilder* result);
|
||||||
|
|
||||||
Specifier* begin_CodeSpecifiers(CodeSpecifiers specifiers);
|
Specifier* begin_CodeSpecifiers(CodeSpecifiers specifiers);
|
||||||
@ -68,11 +68,11 @@ GEN_API StrBuilder struct_to_strbuilder (CodeStruct self);
|
|||||||
GEN_API void struct_to_strbuilder_fwd(CodeStruct self, StrBuilder* result);
|
GEN_API void struct_to_strbuilder_fwd(CodeStruct self, StrBuilder* result);
|
||||||
GEN_API void struct_to_strbuilder_def(CodeStruct self, StrBuilder* result);
|
GEN_API void struct_to_strbuilder_def(CodeStruct self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder attributes_to_strbuilder (CodeAttributes attributes);
|
StrBuilder attributes_to_strbuilder (CodeAttributes attributes);
|
||||||
GEN_API void attributes_to_strbuilder_ref(CodeAttributes attributes, StrBuilder* result);
|
void attributes_to_strbuilder_ref(CodeAttributes attributes, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder comment_to_strbuilder (CodeComment comment );
|
StrBuilder comment_to_strbuilder (CodeComment comment );
|
||||||
GEN_API void comment_to_strbuilder_ref(CodeComment comment, StrBuilder* result );
|
void comment_to_strbuilder_ref(CodeComment comment, StrBuilder* result );
|
||||||
|
|
||||||
GEN_API StrBuilder constructor_to_strbuilder (CodeConstructor constructor);
|
GEN_API StrBuilder constructor_to_strbuilder (CodeConstructor constructor);
|
||||||
GEN_API void constructor_to_strbuilder_def(CodeConstructor constructor, StrBuilder* result );
|
GEN_API void constructor_to_strbuilder_def(CodeConstructor constructor, StrBuilder* result );
|
||||||
@ -91,60 +91,60 @@ GEN_API void enum_to_strbuilder_fwd (CodeEnum self, StrBuilder* resul
|
|||||||
GEN_API void enum_to_strbuilder_class_def(CodeEnum self, StrBuilder* result );
|
GEN_API void enum_to_strbuilder_class_def(CodeEnum self, StrBuilder* result );
|
||||||
GEN_API void enum_to_strbuilder_class_fwd(CodeEnum self, StrBuilder* result );
|
GEN_API void enum_to_strbuilder_class_fwd(CodeEnum self, StrBuilder* result );
|
||||||
|
|
||||||
GEN_API StrBuilder exec_to_strbuilder (CodeExec exec);
|
StrBuilder exec_to_strbuilder (CodeExec exec);
|
||||||
GEN_API void exec_to_strbuilder_ref(CodeExec exec, StrBuilder* result);
|
void exec_to_strbuilder_ref(CodeExec exec, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API void extern_to_strbuilder(CodeExtern self, StrBuilder* result);
|
void extern_to_strbuilder(CodeExtern self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder include_to_strbuilder (CodeInclude self);
|
StrBuilder include_to_strbuilder (CodeInclude self);
|
||||||
GEN_API void include_to_strbuilder_ref(CodeInclude self, StrBuilder* result);
|
void include_to_strbuilder_ref(CodeInclude self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder friend_to_strbuilder (CodeFriend self);
|
StrBuilder friend_to_strbuilder (CodeFriend self);
|
||||||
GEN_API void friend_to_strbuilder_ref(CodeFriend self, StrBuilder* result);
|
void friend_to_strbuilder_ref(CodeFriend self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder fn_to_strbuilder (CodeFn self);
|
GEN_API StrBuilder fn_to_strbuilder (CodeFn self);
|
||||||
GEN_API void fn_to_strbuilder_def(CodeFn self, StrBuilder* result);
|
GEN_API void fn_to_strbuilder_def(CodeFn self, StrBuilder* result);
|
||||||
GEN_API void fn_to_strbuilder_fwd(CodeFn self, StrBuilder* result);
|
GEN_API void fn_to_strbuilder_fwd(CodeFn self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder module_to_strbuilder (CodeModule self);
|
StrBuilder module_to_strbuilder (CodeModule self);
|
||||||
GEN_API void module_to_strbuilder_ref(CodeModule self, StrBuilder* result);
|
GEN_API void module_to_strbuilder_ref(CodeModule self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder namespace_to_strbuilder (CodeNS self);
|
StrBuilder namespace_to_strbuilder (CodeNS self);
|
||||||
GEN_API void namespace_to_strbuilder_ref(CodeNS self, StrBuilder* result);
|
void namespace_to_strbuilder_ref(CodeNS self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder code_op_to_strbuilder (CodeOperator self);
|
GEN_API StrBuilder code_op_to_strbuilder (CodeOperator self);
|
||||||
GEN_API void code_op_to_strbuilder_fwd(CodeOperator self, StrBuilder* result );
|
GEN_API void code_op_to_strbuilder_fwd(CodeOperator self, StrBuilder* result );
|
||||||
GEN_API void code_op_to_strbuilder_def(CodeOperator self, StrBuilder* result );
|
GEN_API void code_op_to_strbuilder_def(CodeOperator self, StrBuilder* result );
|
||||||
|
|
||||||
GEN_API StrBuilder opcast_to_strbuilder (CodeOpCast op_cast );
|
GEN_API StrBuilder opcast_to_strbuilder (CodeOpCast op_cast );
|
||||||
GEN_API void opcast_to_strbuilder_def(CodeOpCast op_cast, StrBuilder* result );
|
GEN_API void opcast_to_strbuilder_def(CodeOpCast op_cast, StrBuilder* result );
|
||||||
GEN_API void opcast_to_strbuilder_fwd(CodeOpCast op_cast, StrBuilder* result );
|
GEN_API void opcast_to_strbuilder_fwd(CodeOpCast op_cast, StrBuilder* result );
|
||||||
|
|
||||||
GEN_API StrBuilder pragma_to_strbuilder (CodePragma self);
|
StrBuilder pragma_to_strbuilder (CodePragma self);
|
||||||
GEN_API void pragma_to_strbuilder_ref(CodePragma self, StrBuilder* result);
|
void pragma_to_strbuilder_ref(CodePragma self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder preprocess_to_strbuilder (CodePreprocessCond cond);
|
GEN_API StrBuilder preprocess_to_strbuilder (CodePreprocessCond cond);
|
||||||
GEN_API void preprocess_to_strbuilder_if (CodePreprocessCond cond, StrBuilder* result );
|
void preprocess_to_strbuilder_if (CodePreprocessCond cond, StrBuilder* result );
|
||||||
GEN_API void preprocess_to_strbuilder_ifdef (CodePreprocessCond cond, StrBuilder* result );
|
void preprocess_to_strbuilder_ifdef (CodePreprocessCond cond, StrBuilder* result );
|
||||||
GEN_API void preprocess_to_strbuilder_ifndef(CodePreprocessCond cond, StrBuilder* result );
|
void preprocess_to_strbuilder_ifndef(CodePreprocessCond cond, StrBuilder* result );
|
||||||
GEN_API void preprocess_to_strbuilder_elif (CodePreprocessCond cond, StrBuilder* result );
|
void preprocess_to_strbuilder_elif (CodePreprocessCond cond, StrBuilder* result );
|
||||||
GEN_API void preprocess_to_strbuilder_else (CodePreprocessCond cond, StrBuilder* result );
|
void preprocess_to_strbuilder_else (CodePreprocessCond cond, StrBuilder* result );
|
||||||
GEN_API void preprocess_to_strbuilder_endif (CodePreprocessCond cond, StrBuilder* result );
|
void preprocess_to_strbuilder_endif (CodePreprocessCond cond, StrBuilder* result );
|
||||||
|
|
||||||
GEN_API StrBuilder template_to_strbuilder (CodeTemplate self);
|
StrBuilder template_to_strbuilder (CodeTemplate self);
|
||||||
GEN_API void template_to_strbuilder_ref(CodeTemplate self, StrBuilder* result);
|
GEN_API void template_to_strbuilder_ref(CodeTemplate self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder typename_to_strbuilder (CodeTypename self);
|
StrBuilder typename_to_strbuilder (CodeTypename self);
|
||||||
GEN_API void typename_to_strbuilder_ref(CodeTypename self, StrBuilder* result);
|
GEN_API void typename_to_strbuilder_ref(CodeTypename self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder typedef_to_strbuilder (CodeTypedef self);
|
StrBuilder typedef_to_strbuilder (CodeTypedef self);
|
||||||
GEN_API void typedef_to_strbuilder_ref(CodeTypedef self, StrBuilder* result );
|
GEN_API void typedef_to_strbuilder_ref(CodeTypedef self, StrBuilder* result );
|
||||||
|
|
||||||
GEN_API StrBuilder union_to_strbuilder (CodeUnion self);
|
GEN_API StrBuilder union_to_strbuilder (CodeUnion self);
|
||||||
GEN_API void union_to_strbuilder_def(CodeUnion self, StrBuilder* result);
|
GEN_API void union_to_strbuilder_def(CodeUnion self, StrBuilder* result);
|
||||||
GEN_API void union_to_strbuilder_fwd(CodeUnion self, StrBuilder* result);
|
GEN_API void union_to_strbuilder_fwd(CodeUnion self, StrBuilder* result);
|
||||||
|
|
||||||
GEN_API StrBuilder using_to_strbuilder (CodeUsing op_cast );
|
StrBuilder using_to_strbuilder (CodeUsing op_cast );
|
||||||
GEN_API void using_to_strbuilder_ref(CodeUsing op_cast, StrBuilder* result );
|
GEN_API void using_to_strbuilder_ref(CodeUsing op_cast, StrBuilder* result );
|
||||||
void using_to_strbuilder_ns (CodeUsing op_cast, StrBuilder* result );
|
void using_to_strbuilder_ns (CodeUsing op_cast, StrBuilder* result );
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ void body_to_strbuilder_ref( CodeBody body, StrBuilder* result )
|
|||||||
s32 left = body->NumEntries;
|
s32 left = body->NumEntries;
|
||||||
while ( left -- )
|
while ( left -- )
|
||||||
{
|
{
|
||||||
code_to_strbuilder_ptr(curr, result);
|
code_to_strbuilder_ref(curr, result);
|
||||||
// strbuilder_append_fmt( result, "%SB", code_to_strbuilder(curr) );
|
// strbuilder_append_fmt( result, "%SB", code_to_strbuilder(curr) );
|
||||||
++curr;
|
++curr;
|
||||||
}
|
}
|
||||||
@ -75,6 +75,15 @@ StrBuilder exec_to_strbuilder(CodeExec exec)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline
|
||||||
|
StrBuilder exec_to_strbuilder_ref(CodeExec exec, StrBuilder* result) {
|
||||||
|
GEN_ASSERT(exec)
|
||||||
|
GEN_ASSERT(result)
|
||||||
|
char* raw = ccast(char*, str_duplicate( exec->Content, get_context()->Allocator_Temp ).Ptr);
|
||||||
|
StrBuilder result = { raw };
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
inline
|
inline
|
||||||
void extern_to_strbuilder(CodeExtern self, StrBuilder* result )
|
void extern_to_strbuilder(CodeExtern self, StrBuilder* result )
|
||||||
{
|
{
|
||||||
@ -87,12 +96,15 @@ void extern_to_strbuilder(CodeExtern self, StrBuilder* result )
|
|||||||
inline
|
inline
|
||||||
StrBuilder include_to_strbuilder(CodeInclude include)
|
StrBuilder include_to_strbuilder(CodeInclude include)
|
||||||
{
|
{
|
||||||
|
GEN_ASSERT(include)
|
||||||
return strbuilder_fmt_buf( _ctx->Allocator_Temp, "#include %S\n", include->Content );
|
return strbuilder_fmt_buf( _ctx->Allocator_Temp, "#include %S\n", include->Content );
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
inline
|
||||||
void include_to_strbuilder_ref( CodeInclude include, StrBuilder* result )
|
void include_to_strbuilder_ref( CodeInclude include, StrBuilder* result )
|
||||||
{
|
{
|
||||||
|
GEN_ASSERT(include)
|
||||||
|
GEN_ASSERT(result)
|
||||||
strbuilder_append_fmt( result, "#include %S\n", include->Content );
|
strbuilder_append_fmt( result, "#include %S\n", include->Content );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -416,7 +416,7 @@ bool array_set_capacity(Array<Type>* array, usize new_capacity)
|
|||||||
// These are intended for use in the base library of gencpp and the C-variant of the library
|
// These are intended for use in the base library of gencpp and the C-variant of the library
|
||||||
// It provides a interoperability between the C++ and C implementation of arrays. (not letting these do any crazy substiution though)
|
// It provides a interoperability between the C++ and C implementation of arrays. (not letting these do any crazy substiution though)
|
||||||
// They are undefined in gen.hpp and gen.cpp at the end of the files.
|
// They are undefined in gen.hpp and gen.cpp at the end of the files.
|
||||||
// We cpp library expects the user to use the regular calls as they can resolve the type fine.
|
// The cpp library expects the user to use the regular calls as they can resolve the type fine.
|
||||||
|
|
||||||
#define array_init(type, allocator) array_init <type> (allocator )
|
#define array_init(type, allocator) array_init <type> (allocator )
|
||||||
#define array_init_reserve(type, allocator, cap) array_init_reserve <type> (allocator, cap)
|
#define array_init_reserve(type, allocator, cap) array_init_reserve <type> (allocator, cap)
|
||||||
|
@ -53,7 +53,7 @@ StrBuilder <prefix>_to_strbuilder(Code code);
|
|||||||
|
|
||||||
Where the first generates strings allocated using Allocator_StringArena and the other appends an existing strings with their backed allocator.
|
Where the first generates strings allocated using Allocator_StringArena and the other appends an existing strings with their backed allocator.
|
||||||
|
|
||||||
Serialization of for the AST is defined for `Code` in [`ast.cpp`](../base/components/ast.cpp) with `code_to_strbuilder_ptr` & `code_to_strbuilder`.
|
Serialization of for the AST is defined for `Code` in [`ast.cpp`](../base/components/ast.cpp) with `code_to_strbuilder_ref` & `code_to_strbuilder`.
|
||||||
Serializtion for the rest of the code types is within [`code_serialization.cpp`](../base/components/code_serialization.cpp).
|
Serializtion for the rest of the code types is within [`code_serialization.cpp`](../base/components/code_serialization.cpp).
|
||||||
|
|
||||||
Gencpp's serialization does not provide coherent formatting of the code. The user should use a formatter after serializing.
|
Gencpp's serialization does not provide coherent formatting of the code. The user should use a formatter after serializing.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user