c++ framework