.. _file_include_core_composable_integration.hpp: File composable_integration.hpp =============================== |exhale_lsh| :ref:`Parent directory ` (``include/core``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS Composable integration architecture using decorator pattern. .. contents:: Contents :local: :backlinks: none Definition (``include/core/composable_integration.hpp``) -------------------------------------------------------- .. toctree:: :maxdepth: 1 program_listing_file_include_core_composable_integration.hpp.rst Detailed Description -------------------- This header provides the main entry point for the composable integration system. It includes all individual decorators and the builder interface. The architecture solves the combinatorial explosion problem by using high cohesion, low coupling principles: - High Cohesion: Each decorator focuses on a single responsibility - Low Coupling: Decorators can be combined in any order without dependencies - Linear Scaling: N facilities require N classes, not 2^N classes Usage Example: autointegrator=make_builder(base_integrator) .with_timeout() .with_parallel() .with_signals() .with_output() .build(); Includes -------- - ``composable/integrator_builder.hpp`` (:ref:`file_include_core_composable_integrator_builder.hpp`) - ``composable/integrator_decorator.hpp`` (:ref:`file_include_core_composable_integrator_decorator.hpp`) - ``composable/interpolation_decorator.hpp`` (:ref:`file_include_core_composable_interpolation_decorator.hpp`) - ``composable/interprocess_decorator.hpp`` (:ref:`file_include_core_composable_interprocess_decorator.hpp`) - ``composable/output_decorator.hpp`` (:ref:`file_include_core_composable_output_decorator.hpp`) - ``composable/parallel_decorator.hpp`` (:ref:`file_include_core_composable_parallel_decorator.hpp`) - ``composable/signal_decorator.hpp`` (:ref:`file_include_core_composable_signal_decorator.hpp`) - ``composable/timeout_decorator.hpp`` (:ref:`file_include_core_composable_timeout_decorator.hpp`) Included By ----------- - :ref:`file_include_diffeq.hpp` Namespaces ---------- - :ref:`namespace_diffeq` - :ref:`namespace_diffeq__core` - :ref:`namespace_diffeq__core__composable`