Add dispatcher class to manage stan::callbacks writer objects#3337
Add dispatcher class to manage stan::callbacks writer objects#3337mitzimorris wants to merge 19 commits intodevelopfrom
Conversation
…n-dev/stan into feature/callbacks-dispatcher
Jenkins Console Log Machine informationNo LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focalCPU: G++: Clang: |
…n-dev/stan into feature/callbacks-dispatcher
…n-dev/stan into feature/callbacks-dispatcher
Jenkins Console Log Machine informationNo LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focalCPU: G++: Clang: |
…n-dev/stan into feature/callbacks-dispatcher
|
@WardBrian and @SteveBronder - this is a WIP
I would suggest simply adding the dispatcher, configure_dispatcher classes in their own PR, then taking the next step of refactoring the services layer API. discuss? |
Jenkins Console Log Machine informationNo LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focalCPU: G++: Clang: |
|
closing this, will submit PR for dispatcher and utility in a new PR. |
Submission Checklist
./runTests.py src/test/unitmake cpplintSummary
Adds a new class
dispatcherto stan::callbacks, used to map classes of outputs to an associated callbacks writer.Implementation of design doc https://github.com/stan-dev/design-docs/blob/master/designs/0032-stan-output-formats.md.
info_typesused to classify outputsstan::serviceshas singledispatcherarg, instead of one or more callback writer args.Intended Effect
Simplify
stan::servicesAPI calls and make it possible to add new output formats and types of outputs going forward.How to Verify
Unit tests
Side Effects
N/A
Documentation
N/A
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Columbia University
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses: