Skip to content
/ freeze Public

☃️ Quick method of concisely loading and saving the properties of arbitrarily complex class structures in a text file, provided loading occurs in a known order.

Notifications You must be signed in to change notification settings

Makiah/freeze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

freeze

☃️ Quick method of concisely loading and saving the properties of arbitrarily complex class structures in a text file, provided loading occurs in a known order.

Usage

Basic

// data
int someNum = 2;
std::string someString = "string";
bool someBool = false;
std::vector<std::vector<ClassA>> twod = {{ClassA(1), ClassA(2)}, {ClassA(3)}};

freeze::IceBlock i;
i.freeze(someNum);
i.freeze(someString);
i.freeze(someBool);
i.freeze(twod);
i.save("resources/ice.txt");

// ... process exits, new run (order dependent loading)

freeze::IceBlock i = freeze::IceBlock::fromFile("resources/ice.txt");

int someNum = i.melt<int>();
std::string someString = i.melt<std::string>();
bool someBool = i.melt<bool>();
std::vector<std::vector<ClassA>> twod = i.melt<std::vector<std::vector<ClassA>>>();

// proceed with data from last run

Advanced

See example.cpp.

Building

Copy freeze.h and freeze.cpp somewhere into your project and #include "freeze.h" wherever.

About

☃️ Quick method of concisely loading and saving the properties of arbitrarily complex class structures in a text file, provided loading occurs in a known order.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages