#include <algorithm>#include <iostream>#include <string_view> usingnamespace std::literals; [[nodiscard("a pure function")]]constexprstd::size_t count_substrings(std::string_view hive,conststd::string_view bee){if(hive.empty()|| bee.empty())return 0U; std::size_t buzz{};while(bee.size()<= hive.size()){constauto pos= hive.find(bee);if(pos== hive.npos)break;++buzz; hive.remove_prefix(pos+ bee.size());}return buzz;} int main(){std::string str=" trim me";std::string_view v= str; v.remove_prefix(std::min(v.find_first_not_of(" "), v.size()));std::cout<<"String: '"<< str<<"'\n"<<"View : '"<< v<<"'\n"; constexprauto hive{"bee buzz bee buzz bee"};std::cout<<"There are "<< count_substrings(hive,"bee")<<" bees in this hive.\n";}