Skip to content
Snippets Groups Projects
  • Nils Krumnack's avatar
    2a9da035
    CP Algorithm Blocks: replace "references" with two-pass configuration · 2a9da035
    Nils Krumnack authored
    Given that the first iteration of the configuration block design
    invoked criticism of the "reference" design for tracking containers I
    now changed it, so that instead of first allocating references to
    determine what the intermediate containers are, I just run through the
    entire configuration twice.  The second run-through then can rely on
    what it learned in the first run-through to determine what will happen
    further down in the sequence.
    
    This requires routing a number of calls through the ConfigAccumulator
    object, but it definitely makes writing the actual blocks more
    straightforward, and it should also allow for more flexibility if we
    need to redesign the ConfigAccumulator in the future (which also
    became simpler with this change).
    2a9da035
    History
    CP Algorithm Blocks: replace "references" with two-pass configuration
    Nils Krumnack authored
    Given that the first iteration of the configuration block design
    invoked criticism of the "reference" design for tracking containers I
    now changed it, so that instead of first allocating references to
    determine what the intermediate containers are, I just run through the
    entire configuration twice.  The second run-through then can rely on
    what it learned in the first run-through to determine what will happen
    further down in the sequence.
    
    This requires routing a number of calls through the ConfigAccumulator
    object, but it definitely makes writing the actual blocks more
    straightforward, and it should also allow for more flexibility if we
    need to redesign the ConfigAccumulator in the future (which also
    became simpler with this change).
Code owners
Assign users and groups as approvers for specific file changes. Learn more.