1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-26 08:49:37 +00:00

Add note to future self.

This commit is contained in:
Thomas Harte 2022-12-27 20:23:25 -05:00
parent cdbd821913
commit ee22a98c17

View File

@ -49,6 +49,18 @@ template<typename T> class TypedDynamicMachine: public ::Machine::DynamicMachine
private: private:
template <typename Class> Class *get() { template <typename Class> Class *get() {
return dynamic_cast<Class *>(machine_.get()); return dynamic_cast<Class *>(machine_.get());
// Note to self: the below is not [currently] used
// because in practice TypedDynamicMachine is instantiated
// with an abstract parent of the actual class.
//
// TODO: rethink type hiding here. I think I've boxed myself
// into an uncomfortable corner.
// if constexpr (std::is_base_of_v<Class, T>) {
// return static_cast<Class *>(machine_.get());
// } else {
// return nullptr;
// }
} }
std::unique_ptr<T> machine_; std::unique_ptr<T> machine_;
}; };