#ifndef B6A9DEE0_30C6_4492_AB96_87D9C5C10E8B #define B6A9DEE0_30C6_4492_AB96_87D9C5C10E8B #include #include void prepare(const int &size, int &start, const int &offset, int &end){ // Set missing fields if(!end) end = size; // Edit start/end according to offset if(offset < 0) start += offset; else if(offset > 0) end -= offset; } int findContains(const std::vector &data, const std::string &strContains, int start = 0, int offset = 0, int end = 0){ prepare(data.size(), start, offset, end); for(int i=start; i &data, const std::string &strIs, int start = 0, int offset = 0, int end = 0){ prepare(data.size(), start, offset, end); for(int i=start; i