refactoring C++ interface
refactoring C++ interface

- use auto variables (if possible)
- remove dangling expressions
- use std::set::emplace instead of std::set::insert
- not use std::move in return statement; considering copy elision

allanjude/libucl,fichtner/libucl,allanjude/libucl,allanjude/libucl,vstakhov/libucl,vstakhov/libucl,fichtner/libucl,allanjude/libucl,fichtner/libucl,vstakhov/libucl,vstakhov/libucl,fichtner/libucl,allanjude/libucl,fichtner/libucl,vstakhov/libucl