Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#6831 sched refactor, step 1: Add pImpl idiom (#7074)
This first step toward separating key scheduler code into separate subclasses by mode of operation adds the pImpl idiom to the scheduler: the scheduler_t implementation is moved to a private class scheduler_impl_t, to let us (in a future step) create the appropriate subclass without changing callers who construct a scheduler_t. This also helps to split up and modularize the enormous scheduler class. A future step will move the scheduler_impl_t code into a new file scheduler_impl.cpp. That was separated out to make the diff easier to read here. The bulk of the changes involve: + The name change scheduler_tmpl_t to scheduler_impl_tmpl_t. + Having to qualify enum types as we do not have C++20's using enum. + Having to refer to types in another class now that the impl class is separate from the outer class. + Moving inlined routines out of scheduler.h now that the implementation is private and scheduler_impl_tmpl_t is an incomplete type in scheduler.h. + Some sched_type_t qualifications are removed due to new (private) using statements to make the code more readable. Issue: #6831
- Loading branch information