Codechange: make explicit when a TileIndex is cast to its basetype (#11190)

This prevents people accidentially assigning a TileIndex to a Date
or any other type they shouldn't.
This commit is contained in:
Patric Stout
2023-08-15 18:12:05 +02:00
committed by GitHub
parent 5d3f7939e2
commit 07730584d7
31 changed files with 120 additions and 105 deletions

View File

@@ -284,6 +284,12 @@ public:
void CreateNestedTree(bool fill_nested = true);
void FinishInitNested(WindowNumber window_number = 0);
template<typename T, std::enable_if_t<std::is_base_of<StrongTypedefBase, T>::value, int> = 0>
void FinishInitNested(T number)
{
this->FinishInitNested(static_cast<typename T::BaseType>(number));
}
/**
* Set the timeout flag of the window and initiate the timer.
*/
@@ -880,6 +886,12 @@ public:
Window *BringWindowToFrontById(WindowClass cls, WindowNumber number);
Window *FindWindowFromPt(int x, int y);
template<typename T, std::enable_if_t<std::is_base_of<StrongTypedefBase, T>::value, int> = 0>
Window *BringWindowToFrontById(WindowClass cls, T number)
{
return BringWindowToFrontById(cls, static_cast<typename T::BaseType>(number));
}
/**
* Open a new window.
* @tparam Wcls %Window class to use if the window does not exist.