Skip to content

C++ client

Jonathan Hanks requested to merge jonathan-hanks/nds2-client:c++-client into master

The public C++ layer to be consumed by end users. MSVC req VS2015. No methods return vectors of pointers anymore, just straight vectors of objects. This removes a layer of pointer dereferrencing from most operations.

Using move semantics instead of output parameters. This allows simplifying the api in minor ways (not providing two apis w & w/o output parameters).

Removed all *_internal.hh files.

Removed nds_memory.hh. Removed the NDS_SHARED_PTR macro and replaced all instances with std::shared_ptr.

Removed the raw p_type pointer in NDS::connection, replaced it with std::unique_ptr.

Simplified some loops by converting them to foreach loops. Simplified some areas with auto types.

All SWIG specific code is in nds_swig.hh, added detail and anonymous namespaces to keep it header only.

Builds with MSVC 2015. Under MSVC 2015 all the C++/Java tests pass except the java mock server test.

This is the first cut with a requirement of C++11.

This also updates the java to require 1.6+

Merge request reports