1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include <vector> #include <utility> #include <algorithm> #include <iterator> namespace std { template<class container> auto begin(container& rhs) -> typename container::iterator {return rhs.begin();} template<class container> auto begin(const container& rhs) -> typename container::iterator {return rhs.begin();} template<class element, int size> element* begin(element(&rhs)[size]) {return rhs;} template<class container> auto end(container& rhs) -> typename container::iterator {return rhs.end();} template<class container> auto end(const container& rhs) -> typename container::iterator {return rhs.end();} template<class element, int size> element* end(element(&rhs)[size]) {return rhs+size;} } template<class iter1, class iter2> iter1 search(iter1 stackbegin, iter1 stackend, iter2 needlebegin, iter2 needleend) {return std::search(stackbegin, stackend, needlebegin, needleend);} template<class iter1, class needlecontainer> iter1 search(iter1 stackbegin, iter1 stackend, const needlecontainer& needle) {return std::search(stackbegin, stackend, std::begin(needle), std::end(needle));} template<class stackcontainer, class needlecontainer> decltype(std::begin(std::declval<stackcontainer>())) search(const stackcontainer& stack, const needlecontainer& needle) {return std::search(std::begin(stack), std::end(stack), std::begin(needle), std::end(needle));} template<class stackcontainer, class needlecontainer> decltype(std::begin(std::declval<stackcontainer>())) search(stackcontainer& stack, const needlecontainer& needle) {return std::search(std::begin(stack), std::end(stack), std::begin(needle), std::end(needle));} int main() { std::vector<char> str1; auto it = search(str1, "Look for this"); } |
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxpdGVyYXRvcj4KCm5hbWVzcGFjZSBzdGQgewogICAgdGVtcGxhdGU8Y2xhc3MgY29udGFpbmVyPgogICAgYXV0byBiZWdpbihjb250YWluZXImIHJocykgLT4gdHlwZW5hbWUgY29udGFpbmVyOjppdGVyYXRvciB7cmV0dXJuIHJocy5iZWdpbigpO30KICAgIHRlbXBsYXRlPGNsYXNzIGNvbnRhaW5lcj4KICAgIGF1dG8gYmVnaW4oY29uc3QgY29udGFpbmVyJiByaHMpIC0+IHR5cGVuYW1lIGNvbnRhaW5lcjo6aXRlcmF0b3Ige3JldHVybiByaHMuYmVnaW4oKTt9CiAgICB0ZW1wbGF0ZTxjbGFzcyBlbGVtZW50LCBpbnQgc2l6ZT4KICAgIGVsZW1lbnQqIGJlZ2luKGVsZW1lbnQoJnJocylbc2l6ZV0pIHtyZXR1cm4gcmhzO30KICAgIHRlbXBsYXRlPGNsYXNzIGNvbnRhaW5lcj4KICAgIGF1dG8gZW5kKGNvbnRhaW5lciYgcmhzKSAtPiB0eXBlbmFtZSBjb250YWluZXI6Oml0ZXJhdG9yIHtyZXR1cm4gcmhzLmVuZCgpO30KICAgIHRlbXBsYXRlPGNsYXNzIGNvbnRhaW5lcj4KICAgIGF1dG8gZW5kKGNvbnN0IGNvbnRhaW5lciYgcmhzKSAtPiB0eXBlbmFtZSBjb250YWluZXI6Oml0ZXJhdG9yIHtyZXR1cm4gcmhzLmVuZCgpO30KICAgIHRlbXBsYXRlPGNsYXNzIGVsZW1lbnQsIGludCBzaXplPgogICAgZWxlbWVudCogZW5kKGVsZW1lbnQoJnJocylbc2l6ZV0pIHtyZXR1cm4gcmhzK3NpemU7fQp9Cgp0ZW1wbGF0ZTxjbGFzcyBpdGVyMSwgY2xhc3MgaXRlcjI+Cml0ZXIxIHNlYXJjaChpdGVyMSBzdGFja2JlZ2luLCBpdGVyMSBzdGFja2VuZCwgaXRlcjIgbmVlZGxlYmVnaW4sIGl0ZXIyIG5lZWRsZWVuZCkKe3JldHVybiBzdGQ6OnNlYXJjaChzdGFja2JlZ2luLCBzdGFja2VuZCwgbmVlZGxlYmVnaW4sIG5lZWRsZWVuZCk7fQoKdGVtcGxhdGU8Y2xhc3MgaXRlcjEsIGNsYXNzIG5lZWRsZWNvbnRhaW5lcj4KaXRlcjEgc2VhcmNoKGl0ZXIxIHN0YWNrYmVnaW4sIGl0ZXIxIHN0YWNrZW5kLCBjb25zdCBuZWVkbGVjb250YWluZXImIG5lZWRsZSkKe3JldHVybiBzdGQ6OnNlYXJjaChzdGFja2JlZ2luLCBzdGFja2VuZCwgc3RkOjpiZWdpbihuZWVkbGUpLCBzdGQ6OmVuZChuZWVkbGUpKTt9Cgp0ZW1wbGF0ZTxjbGFzcyBzdGFja2NvbnRhaW5lciwgY2xhc3MgbmVlZGxlY29udGFpbmVyPgpkZWNsdHlwZShzdGQ6OmJlZ2luKHN0ZDo6ZGVjbHZhbDxzdGFja2NvbnRhaW5lcj4oKSkpCnNlYXJjaChjb25zdCBzdGFja2NvbnRhaW5lciYgc3RhY2ssIGNvbnN0IG5lZWRsZWNvbnRhaW5lciYgbmVlZGxlKQp7cmV0dXJuIHN0ZDo6c2VhcmNoKHN0ZDo6YmVnaW4oc3RhY2spLCBzdGQ6OmVuZChzdGFjayksIHN0ZDo6YmVnaW4obmVlZGxlKSwgc3RkOjplbmQobmVlZGxlKSk7fQoKdGVtcGxhdGU8Y2xhc3Mgc3RhY2tjb250YWluZXIsIGNsYXNzIG5lZWRsZWNvbnRhaW5lcj4KZGVjbHR5cGUoc3RkOjpiZWdpbihzdGQ6OmRlY2x2YWw8c3RhY2tjb250YWluZXI+KCkpKQpzZWFyY2goc3RhY2tjb250YWluZXImIHN0YWNrLCBjb25zdCBuZWVkbGVjb250YWluZXImIG5lZWRsZSkKe3JldHVybiBzdGQ6OnNlYXJjaChzdGQ6OmJlZ2luKHN0YWNrKSwgc3RkOjplbmQoc3RhY2spLCBzdGQ6OmJlZ2luKG5lZWRsZSksIHN0ZDo6ZW5kKG5lZWRsZSkpO30KCmludCBtYWluKCkgewogICAgc3RkOjp2ZWN0b3I8Y2hhcj4gc3RyMTsKICAgIGF1dG8gaXQgPSBzZWFyY2goc3RyMSwgIkxvb2sgZm9yIHRoaXMiKTsKfQ==
-
upload with new input
-
result: Success time: 0s memory: 2880 kB returned value: 0


