a lightweight C++ graph library