variant type class for cpp.