Use C++20
Preparations:
- Add a constructor to initialize fake devices from the constructor.
- Instead of aggregate initialization, c++20 changes the rules regarding this. So use a constructor instead and conform more to RAII.
- static_cast implicit conversions between enums and change implicit capture of "this".
- In autotest don't define private public to access private members, instead set the config to the proper value and reconfigure the test space instead.
Usage:
- Make use of C++20 concepts to remove some stub member functions.
Edited by Roman Gilg