+ if (enabled_) {
+ stream() << std::endl;
+ if (second_enabled_)
+ secondStream() << std::endl;
+ }
+}
+
+
+char const * LyXErr::stripName(char const * n)
+{
+ string const name = n;
+ // find the last occurence of /src/ in name
+ static regex re("[\\/]src[\\/]");
+ string::const_iterator const begin = name.begin();
+ string::const_iterator it = begin;
+ string::const_iterator const end = name.end();
+ smatch results;
+ while (regex_search(it, end, results, re)) {
+ it = results[0].second;
+ }
+ return n + std::distance(begin, it);
+}
+
+
+// It seems not possible to instantiate operator template out of class body
+template<class T>
+LyXErr & toStream(LyXErr & l, T t)
+{
+ if (l.enabled()){
+ l.stream() << t;
+ if (l.secondEnabled()) {
+ l.secondStream() << t;
+ ProgressInterface::instance()->lyxerrFlush();
+ }
+ }
+ return l;