File indexing completed on 2026-04-09 07:49:15
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <cstdlib>
0010 #include <iostream>
0011 #include <limits>
0012
0013 #include "ssys.h"
0014 #include "salloc.h"
0015
0016 const char* BASE = getenv("BASE");
0017
0018 struct salloc_test
0019 {
0020 static int save_load();
0021 static int load();
0022 static int main();
0023 };
0024
0025 int salloc_test::save_load()
0026 {
0027 salloc* a = new salloc ;
0028 a->add("one", 100, 64 );
0029 a->add("two", 200, 64 );
0030 a->add("three", 300, 64 );
0031 a->add("four", 400, 64 );
0032 a->set_meta<uint64_t>("max", std::numeric_limits<uint64_t>::max() ) ;
0033 a->set_meta<uint64_t>("max2", 0xffffffffffffffff );
0034 a->set_meta<uint64_t>("min", std::numeric_limits<uint64_t>::min() ) ;
0035
0036 std::cout << "a.desc" << std::endl << a->desc() ;
0037
0038 a->save(BASE);
0039
0040 salloc* b = salloc::Load(BASE) ;
0041 std::cout << "b.desc" << std::endl << b->desc() ;
0042
0043 return 0 ;
0044 }
0045
0046 int salloc_test::load()
0047 {
0048 salloc* a = salloc::Load(BASE) ;
0049 std::cout << "a.desc" << std::endl << a->desc() ;
0050 return 0 ;
0051 }
0052
0053 int salloc_test::main()
0054 {
0055 const char* TEST = ssys::getenvvar("TEST","save_load");
0056 int rc = 0 ;
0057 if(strcmp(TEST,"save_load")==0 ) rc += save_load();
0058 if(strcmp(TEST,"load")==0 ) rc += load();
0059 return rc ;
0060 }
0061
0062 int main(){ return salloc_test::main() ; }
0063