pika
pika copied to clipboard
Move everything except public functionality to detail namespace
The public API of pika is small: sender/receiver functionality, runtime initialization, what else?
Hidden functionality can then gradually be brought into the public namespace through pika::experimental:: or directly into pika::.
The only reasonable way to do this is module by module:
- [x] affinity (#152)
- [x] algorithms (#377, #411, #475)
- [x] allocator_support (#153)
- [x] assertion (#155)
- [x] async_base (#158)
- [x] async_combinators (#160)
- [x] async_cuda (#196)
- [x] async (nothing to be done)
- [x] async_mpi (#374)
- [x] command_line_handling (#216)
- [x] concepts (nothing to be done)
- [x] concurrency (#246)
- [x] config (#248)
- [x] coroutines (#257)
- [x] datastructures (#276)
- [x] debugging (#324)
- [x] errors (#365)
- [x] execution(#508)
- [x] execution_base (#508)
- [x] executors (#508)
- [x] filesystem (#379)
- [x] format (#487)
- [x] functional (#380)
- [x] futures (#525)
- [x] hardware (#607)
- [x] hashing (#631)
- [x] include (#632)
- [x] ini (#633)
- [x] init_runtime (#634)
- [ ] iterator_support
- [x] itt_notify (#1290)
- [ ] lock_registration
- [ ] logging
- [ ] memory
- [ ] mpi_base
- [ ] pack_traversal
- [ ] prefix (#1177)
- [ ] preprocessor
- [ ] program_options
- [x] properties (#673)
- [ ] resource_partitioner
- [ ] runtime_configuration
- [x] runtime (#826, #1091)
- [x] schedulers (#625)
- [x] string_util (#595)
- [x] synchronization (#483)
- [x] tag_invoke (#596) (#599)
- [x] testing (#594)
- [x] thread_pool_util (#509)
- [x] thread_pools (#462)
- [x] thread_support (#461)
- [x] threading (nothing to be done)
- [x] threading_base (#445)
- [x] threadmanager (#428)
- [x] timing (#209)
- [x] topology (#179)
- [x] type_support (#386, #400)
- [x] util (#420)
- [x] version (#166)
This is also a good opportunity to do general cleanup.
Avoid nesting detail namespaces into experimental namespace #448