/
// define c++ class properties
/
#define CLASS_PROP(type_t, name) \
private: type_t name; \public: \
type_t get##name() { return name; } \
void set##name(const type_t &value) { name = value; }
class TestClass
{
CLASS_PROP(int, age)
};
/
// format string with printf() style
/
string FormatStr(const char *format, ...){
char buf[1024];
va_list args;
va_start(args, format);
_vsnprintf_s(buf, 1023, format, args);
va_end(args);
return string(buf);
}
/
// read/write files and vector<string>
/
void read_all_lines(string fname, vector<string> &values)
{
std::string str;
std::ifstream input(fname);
while (std::getline(input, str))
values.push_back(str);
}
void write_all_lines(string fname, const vector<string> &values)
{
std::ofstream output(fname);
for(int i = 0; i < values.size(); ++i)
output << values[i].c_str() << endl;
output.close();
}