1. 18 Nov, 2019 4 commits
    • Dominik Charousset's avatar
      98c970ea
    • Dominik Charousset's avatar
      Remove dead code · ae804711
      Dominik Charousset authored
      ae804711
    • Dominik Charousset's avatar
      075992dc
    • Dominik Charousset's avatar
      Redesign serialization classes · 55153b94
      Dominik Charousset authored
      - Remove `data_processor`. This class unified serializer and
        deserializer interfaces to reduce code duplication. However, the
        implementation is quite complex and enforces virtual dispatch for all
        derived types.
      - Add `write_inspector` and `read_inspector` utility classes that inject
        an `operator()`. The previous recursive argument unrolling in the
        `data_processor` no longer has its place in C++17. The two new classes
        dispatch on `apply` member functions of their subtype via CRTP and use
        `if constexpr` to dispatch to the correct functions.
      - Refactor `serializer` and `deserializer` classes. These two classes
        still serve as base types for abstract inspectors, but no longer are
        connected through a common base.
      - Add `binary_serializer` and `binary_deserializer` classes. These two
        classes are the workhorses in CAF that run in performance-critical
        code. Hence, these implementations must reduce overhead as much as
        possible. Because of this, they do not inherit from the abstract
        interfaces and internally use the new `error_code` class over the
        generic `error` class.
      - Add handlers for `binary_serializer` and `binary_deserializer` to all
        CAF classes in addition to the generic versions.
      55153b94
  2. 16 Nov, 2019 2 commits
  3. 15 Nov, 2019 7 commits
  4. 14 Nov, 2019 4 commits
  5. 13 Nov, 2019 2 commits
  6. 12 Nov, 2019 16 commits
  7. 11 Nov, 2019 3 commits
  8. 10 Nov, 2019 2 commits