Boundary iteratir - initial version
Add variant type

- added variant type with move support (only for c++11, for c++03
reverts back to boost::variant without move support)