c++ boilerplate