[feature] add C++ functions back to the structs

This makes it possible to work with the library more comfortably from
C++ and port the already written programs easier.

Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>