add functionnal read/write version for C++, TODO : collection binder.