1. 17 Oct, 2019 1 commit
    • Dominik Charousset's avatar
      Add config_value adaptors for complex user types · 66a00503
      Dominik Charousset authored
      The recently added config_value_object_access makes it simple to add
      custom types where each field maps naturally to a key/value entry.
      However, not each type fits that model. For example, a custom duration
      type might internally store only a single integer but use two key/value
      entries in the config: a count and the resolution.
      
      The new config_value_adaptor API enables such mappings by converting
      between the user-defined type and a tuple that models the representation
      in configuration files or on the CLI.
      66a00503
  2. 16 Oct, 2019 5 commits
  3. 15 Oct, 2019 2 commits
  4. 13 Oct, 2019 6 commits
  5. 12 Oct, 2019 3 commits
  6. 11 Oct, 2019 6 commits
  7. 10 Oct, 2019 3 commits
    • Dominik Charousset's avatar
      Add new object-based access API · 15f149bd
      Dominik Charousset authored
      The new utility class config_value_object_access makes it much simpler
      for users to specialize config_value_access. Now, users only need to
      implement a trait class for config_value_object_access to get all the
      low-level sum type calls as well as the parsing code out of their way.
      
      The center piece of the trait class is a getter for fields of the
      user-defined type. This new fields-based API either works with pointers
      to members or with paris of getter and setter functions. In both cases,
      users can also add default values and validity predicates.
      15f149bd
    • Dominik Charousset's avatar
      Make parser state class public · b2272073
      Dominik Charousset authored
      As part of redesigning the config_value_access API, we have to expose
      the parser state class to CAF users.
      b2272073
    • Dominik Charousset's avatar
      6f23959e
  8. 09 Oct, 2019 7 commits
  9. 08 Oct, 2019 1 commit
  10. 06 Oct, 2019 2 commits
  11. 05 Oct, 2019 2 commits
  12. 04 Oct, 2019 2 commits