C++ Library for generic overloaded operators