General Purpose Rules of Chess Library for C++