Persistence framework for C++