├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md └── src ├── api ├── CMakeLists.txt ├── abstract_plugin.h └── operation.h ├── engine ├── CMakeLists.txt ├── calculator_engine.cpp ├── calculator_engine.h ├── plugin_entry.cpp ├── plugin_entry.h ├── plugin_registry.cpp ├── plugin_registry.h ├── plugin_utils.cpp └── plugin_utils.h ├── json └── nlohmann │ ├── adl_serializer.hpp │ ├── detail │ ├── conversions │ │ ├── from_json.hpp │ │ ├── to_chars.hpp │ │ └── to_json.hpp │ ├── exceptions.hpp │ ├── input │ │ ├── binary_reader.hpp │ │ ├── input_adapters.hpp │ │ ├── lexer.hpp │ │ └── parser.hpp │ ├── iterators │ │ ├── internal_iterator.hpp │ │ ├── iter_impl.hpp │ │ ├── iteration_proxy.hpp │ │ ├── json_reverse_iterator.hpp │ │ └── primitive_iterator.hpp │ ├── json_pointer.hpp │ ├── json_ref.hpp │ ├── macro_scope.hpp │ ├── macro_unscope.hpp │ ├── meta.hpp │ ├── output │ │ ├── binary_writer.hpp │ │ ├── output_adapters.hpp │ │ └── serializer.hpp │ └── value_t.hpp │ ├── json.hpp │ └── json_fwd.hpp ├── main.cpp ├── plugin_addition ├── CMakeLists.txt ├── addition_plugin.cpp └── addition_plugin.h └── plugin_subtraction ├── CMakeLists.txt ├── subtraction_plugin.cpp └── subtraction_plugin.h /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/README.md -------------------------------------------------------------------------------- /src/api/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/api/CMakeLists.txt -------------------------------------------------------------------------------- /src/api/abstract_plugin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/api/abstract_plugin.h -------------------------------------------------------------------------------- /src/api/operation.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/api/operation.h -------------------------------------------------------------------------------- /src/engine/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/engine/CMakeLists.txt -------------------------------------------------------------------------------- /src/engine/calculator_engine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/engine/calculator_engine.cpp -------------------------------------------------------------------------------- /src/engine/calculator_engine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/engine/calculator_engine.h -------------------------------------------------------------------------------- /src/engine/plugin_entry.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/engine/plugin_entry.cpp -------------------------------------------------------------------------------- /src/engine/plugin_entry.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/engine/plugin_entry.h -------------------------------------------------------------------------------- /src/engine/plugin_registry.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/engine/plugin_registry.cpp -------------------------------------------------------------------------------- /src/engine/plugin_registry.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/engine/plugin_registry.h -------------------------------------------------------------------------------- /src/engine/plugin_utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/engine/plugin_utils.cpp -------------------------------------------------------------------------------- /src/engine/plugin_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/engine/plugin_utils.h -------------------------------------------------------------------------------- /src/json/nlohmann/adl_serializer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/adl_serializer.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/conversions/from_json.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/conversions/from_json.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/conversions/to_chars.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/conversions/to_chars.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/conversions/to_json.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/conversions/to_json.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/exceptions.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/exceptions.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/input/binary_reader.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/input/binary_reader.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/input/input_adapters.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/input/input_adapters.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/input/lexer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/input/lexer.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/input/parser.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/input/parser.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/iterators/internal_iterator.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/iterators/internal_iterator.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/iterators/iter_impl.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/iterators/iter_impl.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/iterators/iteration_proxy.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/iterators/iteration_proxy.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/iterators/json_reverse_iterator.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/iterators/json_reverse_iterator.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/iterators/primitive_iterator.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/iterators/primitive_iterator.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/json_pointer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/json_pointer.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/json_ref.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/json_ref.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/macro_scope.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/macro_scope.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/macro_unscope.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/macro_unscope.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/meta.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/meta.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/output/binary_writer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/output/binary_writer.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/output/output_adapters.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/output/output_adapters.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/output/serializer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/output/serializer.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/detail/value_t.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/detail/value_t.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/json.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/json.hpp -------------------------------------------------------------------------------- /src/json/nlohmann/json_fwd.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/json/nlohmann/json_fwd.hpp -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/plugin_addition/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/plugin_addition/CMakeLists.txt -------------------------------------------------------------------------------- /src/plugin_addition/addition_plugin.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/plugin_addition/addition_plugin.cpp -------------------------------------------------------------------------------- /src/plugin_addition/addition_plugin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/plugin_addition/addition_plugin.h -------------------------------------------------------------------------------- /src/plugin_subtraction/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/plugin_subtraction/CMakeLists.txt -------------------------------------------------------------------------------- /src/plugin_subtraction/subtraction_plugin.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/plugin_subtraction/subtraction_plugin.cpp -------------------------------------------------------------------------------- /src/plugin_subtraction/subtraction_plugin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelpantazoglou/cpp_plugin_architecture/HEAD/src/plugin_subtraction/subtraction_plugin.h --------------------------------------------------------------------------------