mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-11-03 23:36:12 -08:00 
			
		
		
		
	moved seiralization inlines to inlines.hpp, more adjustments
This commit is contained in:
		@@ -99,6 +99,11 @@ struct Context
 | 
			
		||||
	s32 temp_serialize_indent;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// TODO(Ed): Eventually this library should opt out of an implicit context for baseline implementation
 | 
			
		||||
// This would automatically make it viable for multi-threaded purposes among other things
 | 
			
		||||
// An implicit context interface will be provided instead as wrapper procedures as convience.
 | 
			
		||||
GEN_API extern Context* _ctx;
 | 
			
		||||
 | 
			
		||||
// Initialize the library. There first ctx initialized must exist for lifetime of other contextes that come after as its the one that
 | 
			
		||||
GEN_API void init(Context* ctx);
 | 
			
		||||
 | 
			
		||||
@@ -194,7 +199,7 @@ GEN_API CodeEnum def_enum( Str name, Opts_def_enum opts GEN_PARAM_DEFAULT );
 | 
			
		||||
 | 
			
		||||
GEN_API CodeExec   def_execution  ( Str content );
 | 
			
		||||
GEN_API CodeExtern def_extern_link( Str name, CodeBody body );
 | 
			
		||||
GEN_API CodeFriend def_friend     ( Code symbol );
 | 
			
		||||
GEN_API CodeFriend def_friend     ( Code code );
 | 
			
		||||
 | 
			
		||||
struct Opts_def_function {
 | 
			
		||||
	CodeParams      params;
 | 
			
		||||
@@ -230,7 +235,7 @@ struct Opts_def_operator_cast {
 | 
			
		||||
GEN_API CodeOpCast def_operator_cast( CodeTypename type, Opts_def_operator_cast opts GEN_PARAM_DEFAULT );
 | 
			
		||||
 | 
			
		||||
struct Opts_def_param { Code value; };
 | 
			
		||||
GEN_API CodeParams  def_param ( CodeTypename type, Str name, Opts_def_param opts GEN_PARAM_DEFAULT );
 | 
			
		||||
GEN_API CodeParams def_param ( CodeTypename type, Str name, Opts_def_param opts GEN_PARAM_DEFAULT );
 | 
			
		||||
GEN_API CodePragma def_pragma( Str directive );
 | 
			
		||||
 | 
			
		||||
GEN_API CodePreprocessCond def_preprocess_cond( EPreprocessCond type, Str content );
 | 
			
		||||
@@ -244,7 +249,7 @@ GEN_API CodeTemplate def_template( CodeParams params, Code definition, Opts_def_
 | 
			
		||||
 | 
			
		||||
struct Opts_def_type {
 | 
			
		||||
	ETypenameTag   type_tag;
 | 
			
		||||
	Code           arrayexpr;
 | 
			
		||||
	Code           array_expr;
 | 
			
		||||
	CodeSpecifiers specifiers;
 | 
			
		||||
	CodeAttributes attributes;
 | 
			
		||||
};
 | 
			
		||||
@@ -469,3 +474,84 @@ So the full call for this example would be:
 | 
			
		||||
#pragma endregion Macros
 | 
			
		||||
 | 
			
		||||
#pragma endregion Gen Interface
 | 
			
		||||
 | 
			
		||||
#pragma region Constants
 | 
			
		||||
// Predefined typename codes. Are set to readonly and are setup during gen::init()
 | 
			
		||||
 | 
			
		||||
GEN_API extern Macro enum_underlying_macro;
 | 
			
		||||
 | 
			
		||||
GEN_API extern Code access_public;
 | 
			
		||||
GEN_API extern Code access_protected;
 | 
			
		||||
GEN_API extern Code access_private;
 | 
			
		||||
 | 
			
		||||
GEN_API extern CodeAttributes attrib_api_export;
 | 
			
		||||
GEN_API extern CodeAttributes attrib_api_import;
 | 
			
		||||
 | 
			
		||||
GEN_API extern Code module_global_fragment;
 | 
			
		||||
GEN_API extern Code module_private_fragment;
 | 
			
		||||
 | 
			
		||||
GEN_API extern Code fmt_newline;
 | 
			
		||||
 | 
			
		||||
GEN_API extern CodePragma pragma_once;
 | 
			
		||||
 | 
			
		||||
GEN_API extern CodeParams param_varadic;
 | 
			
		||||
 | 
			
		||||
GEN_API extern CodePreprocessCond preprocess_else;
 | 
			
		||||
GEN_API extern CodePreprocessCond preprocess_endif;
 | 
			
		||||
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_const;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_consteval;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_constexpr;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_constinit;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_extern_linkage;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_final;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_forceinline;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_global;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_inline;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_internal_linkage;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_local_persist;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_mutable;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_neverinline;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_noexcept;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_override;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_ptr;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_pure;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_ref;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_register;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_rvalue;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_static_member;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_thread_local;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_virtual;
 | 
			
		||||
GEN_API extern CodeSpecifiers spec_volatile;
 | 
			
		||||
 | 
			
		||||
GEN_API extern CodeTypename t_empty; // Used with varaidc parameters. (Exposing just in case its useful for another circumstance)
 | 
			
		||||
GEN_API extern CodeTypename t_auto;
 | 
			
		||||
GEN_API extern CodeTypename t_void;
 | 
			
		||||
GEN_API extern CodeTypename t_int;
 | 
			
		||||
GEN_API extern CodeTypename t_bool;
 | 
			
		||||
GEN_API extern CodeTypename t_char;
 | 
			
		||||
GEN_API extern CodeTypename t_wchar_t;
 | 
			
		||||
GEN_API extern CodeTypename t_class;
 | 
			
		||||
GEN_API extern CodeTypename t_typename;
 | 
			
		||||
 | 
			
		||||
#ifdef GEN_DEFINE_LIBRARY_CODE_CONSTANTS
 | 
			
		||||
	GEN_API extern CodeTypename t_b32;
 | 
			
		||||
 | 
			
		||||
	GEN_API extern CodeTypename t_s8;
 | 
			
		||||
	GEN_API extern CodeTypename t_s16;
 | 
			
		||||
	GEN_API extern CodeTypename t_s32;
 | 
			
		||||
	GEN_API extern CodeTypename t_s64;
 | 
			
		||||
 | 
			
		||||
	GEN_API extern CodeTypename t_u8;
 | 
			
		||||
	GEN_API extern CodeTypename t_u16;
 | 
			
		||||
	GEN_API extern CodeTypename t_u32;
 | 
			
		||||
	GEN_API extern CodeTypename t_u64;
 | 
			
		||||
 | 
			
		||||
	GEN_API extern CodeTypename t_ssize;
 | 
			
		||||
	GEN_API extern CodeTypename t_usize;
 | 
			
		||||
 | 
			
		||||
	GEN_API extern CodeTypename t_f32;
 | 
			
		||||
	GEN_API extern CodeTypename t_f64;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#pragma endregion Constants
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user