Add c++ sm.hpp.
add test file for cpp.
add docs.
Add scons configurations.