Fixes to memory mangment, library is much faster now.

This commit is contained in:
2023-07-16 18:00:07 -04:00
parent b544f24015
commit 7634aeb34c
21 changed files with 621 additions and 173 deletions

View File

@ -1,73 +1,25 @@
#ifdef gen_time
#define GEN_FEATURE_PARSING
#define GEN_DEFINE_LIBRARY_CODE_CONSTANTS
#define GEN_ENFORCE_STRONG_CODE_TYPES
#include "Parsed\Array.Parsed.hpp"
#include "Parsed\Buffer.Parsed.hpp"
#include "Parsed\HashTable.Parsed.hpp"
#include "Parsed\Ring.Parsed.hpp"
#include "Parsed\Sanity.Parsed.hpp"
#include "SOA.hpp"
#include "gen.cpp"
#include "sanity.cpp"
using namespace gen;
// TODO : Need to make a more robust test suite
#if gen_time
int gen_main()
{
gen::init();
using namespace gen;
log_fmt("\ngen_time:");
gen_sanity();
check_sanity();
gen_array( u8 );
gen_array( sw );
gen_buffer( u8 );
gen_hashtable( u32 );
gen_ring( s16 );
gen_ring( uw );
gen_array_file();
gen_buffer_file();
gen_hashtable_file();
gen_ring_file();
Builder soa_test; soa_test.open( "SOA.gen.hpp" );
soa_test.print( parse_using( code(
using u16 = unsigned short;
)));
soa_test.print( def_include( txt_StrC("gen.hpp")));
soa_test.print( def_using_namespace( name(gen) ) );
soa_test.print( gen_SOA(
parse_struct( code(
struct TestStruct
{
u8 A;
u16 B;
u32 C;
u64 D;
};
))
));
soa_test.write();
gen::deinit();
return 0;
}
#endif
#ifdef runtime
// This only has to be done if symbol conflicts occur.
#ifndef gen_time
int main()
{
return 0;
}
#endif