Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

boost::algorithm::contains

I looked at the template definition and the parameters appear to want iterators across a range and a predicate. I passed in a vector.begin(), ...end(), and a std::string predicate but still get many compile time errors related a host of boost library items. Can I see a clear example of the use of boost::algorithm::contains please?

like image 557
Mushy Avatar asked Dec 05 '22 11:12

Mushy


1 Answers

It's fairly simple, I guess you are passing iterators when you should be passing containers.

  std::string s = "fishing"; 
  std::cout << boost::algorithm::contains(s, "is") << std::endl; 
  std::vector<int> v {1,2,3,5,7,2,7,4,5,8};
  std::vector<int> v2 {5,7,2,7,4};
  std::vector<int> v3 {5,7,2,7,3};
  std::cout << boost::algorithm::contains(v, v2) << std::endl;
  std::cout << boost::algorithm::contains(v, v3) << std::endl;
like image 133
us2012 Avatar answered Dec 23 '22 15:12

us2012