#ifndef _misc_h_ #define _misc_h_ #include #include #include using namespace std; string indent(unsigned); string int_to_str(int); bool str2int(const string&, int&); bool str2float(const string&, float&); bool is_validip(const string&); void skiptillendofline(istream&); template bool contains(list& l, const T& t) { for(typename list::iterator li = l.begin(); li != l.end(); li++) if((*li) == t) return true; return false; } template list intersect(list& l1, list& l2) { list result; for(typename list::iterator li = l1.begin(); li != l1.end(); li++) if(contains(l2, *li)) result.push_back(*li); result.sort(); result.unique(); return result; } #endif