#include <vector>
template<class T>
class AbstractRepository
{
public:
virtual std::vector<T> getAll()=0;
};
class Repository : public AbstractRepository< int >
{
public:
std::vector<int> getAll() { return std::vector<int>(); }
};
int main() {
Repository r;
auto x = r.getAll();
}
I2luY2x1ZGUgPHZlY3Rvcj4KdGVtcGxhdGU8Y2xhc3MgVD4KY2xhc3MgQWJzdHJhY3RSZXBvc2l0b3J5CnsKcHVibGljOgogICAgdmlydHVhbCBzdGQ6OnZlY3RvcjxUPiBnZXRBbGwoKT0wOwp9OwoKY2xhc3MgUmVwb3NpdG9yeSA6IHB1YmxpYyBBYnN0cmFjdFJlcG9zaXRvcnk8IGludCA+CnsKcHVibGljOgogICAgc3RkOjp2ZWN0b3I8aW50PiBnZXRBbGwoKSB7IHJldHVybiBzdGQ6OnZlY3RvcjxpbnQ+KCk7IH0KfTsKCmludCBtYWluKCkgewogICAgUmVwb3NpdG9yeSByOwogICAgYXV0byB4ID0gci5nZXRBbGwoKTsKfQ==