#include <iostream>
#include <string>
template<class T>
class Game
{
public:
//Game-related
T processEvents(std::string input);
void display(T action);
};
template<class T>
T Game<T>::processEvents(std::string input)
{
std::cout << "Game::processEvents(\"" << input << "\")\n";
return T();
//
}
template<class T>
void Game<T>::display(T action)
{
std::cout << "Game::Display(" << action << ")\n";
}
int main()
{
Game<int> game;
game.processEvents("a string");
game.display(69);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdGVtcGxhdGU8Y2xhc3MgVD4KY2xhc3MgR2FtZQp7CnB1YmxpYzoKCiAgICAvL0dhbWUtcmVsYXRlZAogICAgVCBwcm9jZXNzRXZlbnRzKHN0ZDo6c3RyaW5nIGlucHV0KTsKCiAgICB2b2lkIGRpc3BsYXkoVCBhY3Rpb24pOwp9OwoKdGVtcGxhdGU8Y2xhc3MgVD4KVCBHYW1lPFQ+Ojpwcm9jZXNzRXZlbnRzKHN0ZDo6c3RyaW5nIGlucHV0KQp7CiAgICBzdGQ6OmNvdXQgPDwgIkdhbWU6OnByb2Nlc3NFdmVudHMoXCIiIDw8IGlucHV0IDw8ICJcIilcbiI7CiAgICByZXR1cm4gVCgpOwogICAgLy8KfQoKdGVtcGxhdGU8Y2xhc3MgVD4Kdm9pZCBHYW1lPFQ+OjpkaXNwbGF5KFQgYWN0aW9uKQp7CiAgICBzdGQ6OmNvdXQgPDwgIkdhbWU6OkRpc3BsYXkoIiA8PCBhY3Rpb24gPDwgIilcbiI7Cn0KCmludCBtYWluKCkKewogICAgR2FtZTxpbnQ+IGdhbWU7CgogICAgZ2FtZS5wcm9jZXNzRXZlbnRzKCJhIHN0cmluZyIpOwogICAgZ2FtZS5kaXNwbGF5KDY5KTsKfQ==