update primitive type and mapping to c++