Doc-Cirrus/orthanc-mongodb

Remove boost dependency

Closed this issue · 1 comments

Boost is sparingly used in the project. There are some unused header includes and some mutexes (one unused) and a scoped lock. And a few uses of the noncopyable class.

In turn, Boost takes ages to build.

The mutex functionality is in C++11, scoped locks are there in C++17. Noncopyable can be replaced by deleted copy constructor and assignment operator.

I propose to remove the boost dependency or make it a 'fall-back' implementation if C++17 support is not available. I made a branch without it:

PR #12 has been created and merged.
Closing this.

Side note:
Boost may still be built on Windows as part of bsoncpp (needed by mongocpp). On Linux it is not used, unless the BSONCXX_POLY_USE_BOOST option is switched on manually. (By default it is off.) However, Boost is not used by the mongodb plugin directly any more.