#include <iostream>
#include <array>
#include <vector>
#include <string>//<string_view> doesn't work in this compiler!
#include <cstdlib>
#include <ctime>
template <typename Container>
void func(const Container &c)
{
for(int i = 0; i < 10; ++i)
{
std::cout << c[rand() % c.size()];
}
}
int main()
{
std::srand(std::time(nullptr));
std::array<std::string/*_view*/, 2> a{"1","2"};
func(a);
std::cout << std::endl;
std::vector<std::string/*_view*/> v{"1","2"};
func(v);
std::cout << std::endl;
func<std::array<std::string/*_view*/, 2>>({"1","2"});
std::cout << std::endl;
func<std::vector<std::string/*_view*/>>({"1","2"});
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxzdHJpbmc+Ly88c3RyaW5nX3ZpZXc+IGRvZXNuJ3Qgd29yayBpbiB0aGlzIGNvbXBpbGVyIQojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGN0aW1lPgoKdGVtcGxhdGUgPHR5cGVuYW1lIENvbnRhaW5lcj4Kdm9pZCBmdW5jKGNvbnN0IENvbnRhaW5lciAmYykKewogICAgZm9yKGludCBpID0gMDsgaSA8IDEwOyArK2kpCiAgICB7CiAgICAgICAgc3RkOjpjb3V0IDw8IGNbcmFuZCgpICUgYy5zaXplKCldOwogICAgfQp9CgppbnQgbWFpbigpCnsKCXN0ZDo6c3JhbmQoc3RkOjp0aW1lKG51bGxwdHIpKTsKCQoJc3RkOjphcnJheTxzdGQ6OnN0cmluZy8qX3ZpZXcqLywgMj4gYXsiMSIsIjIifTsKCWZ1bmMoYSk7CgoJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKCglzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZy8qX3ZpZXcqLz4gdnsiMSIsIjIifTsKCWZ1bmModik7CgoJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKCglmdW5jPHN0ZDo6YXJyYXk8c3RkOjpzdHJpbmcvKl92aWV3Ki8sIDI+Pih7IjEiLCIyIn0pOwoKCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CgoJZnVuYzxzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZy8qX3ZpZXcqLz4+KHsiMSIsIjIifSk7CgoJcmV0dXJuIDA7Cn0=