inline void trim_right_if(SequenceT& Input) { Input.erase( trim_end( Input.begin(), Input.end() ), Input.end() ); }
inline void trim_left_if(SequenceT& Input) { Input.erase( Input.begin(), trim_begin( Input.begin(), Input.end() ) ); }
std::string longestCommonPrefix(const SequenceT& strings) { if (strings.empty()) return ""; typename SequenceT::const_iterator itr = strings.begin(); std::string result = *itr; for (++itr; itr != strings.end(); ++itr) { const std::string& target = *itr; if (result.empty()) return ""; for (size_t j=0; j < target.length() && j < result.length(); ++j) if (target[j] != result[j]) { result.resize(j); break; } } return result; }
void print_sequence(string name, const SequenceT<T> & printMe) { print_info(name,printMe); typename SequenceT<T>::const_iterator i; for (i = printMe.begin(); i != printMe.end(); ++i) cout << '\t' << "SequenceT[" << "] is (" << *i << ")" << endl; }