Move fundamental object definitions and operations to C++

Change-Id: Ibc3766edfbf7fdbde2d762d6e88a0bb02df2be31
13 files changed