#include <string>
#include <iostream>
#include <set>
#include <initializer_list>
#include <algorithm>
template<typename T2, typename T>
bool contains(T const& value, std::initializer_list<T2> const& set)
{
return std::find(std::begin(set), std::end(set), value) != std::end(set);
}
int main(void)
{
std::set<std::wstring> values = { L"bar", L"not" };
for (std::wstring val : values) {
std::wcout << "\"" << val << "\" ";
if (contains(val, { L"foo", L"bar", L"baz", L"doom" })) {
std::wcout << "found" << std::endl;
}
else {
std::wcout << "not found" << std::endl;
}
}
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8aW5pdGlhbGl6ZXJfbGlzdD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnRlbXBsYXRlPHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUPgpib29sIGNvbnRhaW5zKFQgY29uc3QmIHZhbHVlLCBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8VDI+IGNvbnN0JiBzZXQpCnsKICByZXR1cm4gc3RkOjpmaW5kKHN0ZDo6YmVnaW4oc2V0KSwgc3RkOjplbmQoc2V0KSwgdmFsdWUpICE9IHN0ZDo6ZW5kKHNldCk7Cn0KCmludCBtYWluKHZvaWQpCnsKICBzdGQ6OnNldDxzdGQ6OndzdHJpbmc+IHZhbHVlcyA9IHsgTCJiYXIiLCBMIm5vdCIgfTsKCiAgZm9yIChzdGQ6OndzdHJpbmcgdmFsIDogdmFsdWVzKSB7CiAgICBzdGQ6Ondjb3V0IDw8ICJcIiIgPDwgdmFsIDw8ICJcIiAiOwogICAgaWYgKGNvbnRhaW5zKHZhbCwgeyBMImZvbyIsIEwiYmFyIiwgTCJiYXoiLCBMImRvb20iIH0pKSB7CiAgICAgIHN0ZDo6d2NvdXQgPDwgImZvdW5kIiA8PCBzdGQ6OmVuZGw7CiAgICB9CiAgICBlbHNlIHsKICAgICAgc3RkOjp3Y291dCA8PCAibm90IGZvdW5kIiA8PCBzdGQ6OmVuZGw7CiAgICB9CiAgfQp9