【Boost】boost::string_algo详解7——join的应用

template<typename SequenceSequenceT, typename Range1T>
  range_value< SequenceSequenceT >::type
  join(const SequenceSequenceT & Input, const Range1T & Separator);

template<typename SequenceSequenceT, typename Range1T, typename PredicateT>
  range_value< SequenceSequenceT >::type
  join_if(const SequenceSequenceT & Input, const Range1T & Separator,PredicateT Pred);

例子:

void test_string_join()
{
	using namespace boost::assign;
	std::vector<std::string> v = list_of("Samus")("Link")("Zelda")("Mario");

	std::copy(v.cbegin(), v.cend(), std::ostream_iterator<std::string>(std::cout, " "));
	std::cout << std::endl;

	std::cout << boost::join(v, ", ") << std::endl;

	struct is_contains_a
	{
		bool operator() (const std::string &x)
		{
			return boost::contains(x, "a");
		}
	};
	std::cout << boost::join_if(v, "__", is_contains_a()) << std::endl;
}


你可能感兴趣的:(【Boost】boost::string_algo详解7——join的应用)