Skip to content

Rewrite of PluginService in modern C++

  • use std::any and std::function to wrap factories (instead of void*)
    • optionally use boost::any for C++14 compatibility
  • use std::(experimental::)filsystem for filesystem operations
  • use std::(experimental::)string_view for string manipulation
  • improved/fixed/cleaned up documentation
    • Doxygen and README.md
  • use regex to parse lines in .components files

Apart from simplifying the code, the main reason of this change is to allow automatic wrapping of component factories with custom functions defined at the level of the base class (36127345).

This will allow the removal of the special constructor for Algorithm, AlgTool etc.

Note: it's based on !701 (merged)

Edited by Marco Clemencic

Merge request reports