#include <iostream>
#include <vector>
#include <tuple>
using namespace std;
template <class DataType>
class Tiles {
public:
void AddTile(DataType x) { tiles_.push_back(x); }
std::vector<DataType> tiles_;
};
int main() {
Tiles<int> a;
a.AddTile(10);
Tiles<std::string> b;
b.AddTile("hello, world");
Tiles<std::tuple<int, double>> c;
c.AddTile(std::make_tuple(20, 12.5));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dHVwbGU+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZSA8Y2xhc3MgRGF0YVR5cGU+CmNsYXNzIFRpbGVzIHsKIHB1YmxpYzoKICB2b2lkIEFkZFRpbGUoRGF0YVR5cGUgeCkgeyB0aWxlc18ucHVzaF9iYWNrKHgpOyB9CiAgc3RkOjp2ZWN0b3I8RGF0YVR5cGU+IHRpbGVzXzsKfTsKCmludCBtYWluKCkgewogICAgVGlsZXM8aW50PiBhOyAKICAgIGEuQWRkVGlsZSgxMCk7IAoJCiAgICBUaWxlczxzdGQ6OnN0cmluZz4gYjsgCiAgICBiLkFkZFRpbGUoImhlbGxvLCB3b3JsZCIpOyAKICAgIAogICAgVGlsZXM8c3RkOjp0dXBsZTxpbnQsIGRvdWJsZT4+IGM7IAogICAgYy5BZGRUaWxlKHN0ZDo6bWFrZV90dXBsZSgyMCwgMTIuNSkpOwoKICAgIHJldHVybiAwOwp9