/* File : example.cpp */ #include "example.hxx" #include #include #include #include #include template std::set concat_set(const std::set set, const std::set other_set) { std::set out_set(set); out_set.insert(other_set.begin(), other_set.end()); return out_set; } // int sets std::set create_integer_set(const int rangemin, const int rangemax) { std::set out_set; for (int i = rangemin; i <= rangemax; i++) { out_set.insert(i); } return out_set; } int sum_integer_set(const std::set& set) { return std::accumulate(set.begin(), set.end(), 0); } std::set concat_integer_set(const std::set set, const std::set other_set) { return concat_set(set, other_set); } // string sets std::set create_string_set(const char* svalue) { std::set out_set; std::string str(svalue); std::istringstream iss(str); std::copy(std::istream_iterator(iss), std::istream_iterator(), std::inserter >(out_set, out_set.begin())); return out_set; } std::set concat_string_set(const std::set set, const std::set other_set) { return concat_set(set, other_set); }