- 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;
- }