You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I needed to build docopt using GCC 4.8, because this is default compiler in CentOS 7.
GCC 4.8 C++11 support is good, but all the <regex> functionalities are missing. So I created a fallback to Boost.Regex when building with GCC 4.8, and used C++11 regex in all other cases.
I used the following diff:
diff --git a/docopt.cpp b/docopt.cpp
index 2fd5f42..ce983c5 100644
--- a/docopt.cpp+++ b/docopt.cpp@@ -17,9 +17,24 @@
#include <unordered_map>
#include <map>
#include <string>
-#include <regex>
#include <iostream>
#include <cassert>
#include <cstddef>
+#ifdef DOCOPT_USES_BOOST_REGEX+#include <boost/regex.hpp>+namespace std {+ using boost::regex;+ using boost::sregex_iterator;+ using boost::smatch;+ using boost::regex_search;+ namespace regex_constants {+ using boost::regex_constants::match_not_null;+ }+}+#else+#include <regex>+#endif
If you want to include this in docopt, I can do a PR.
Activity
jaredgrubb commentedon Mar 16, 2016
Does it work well enough?
Luthaf commentedon Mar 16, 2016
Works well enough for me, with most of the docopt features. I did not ran the test suite, but I can if you are willing to integrate this.
jaredgrubb commentedon Mar 16, 2016
Yes, please do. "Working mostly" is still better than "not at all" but if we advertise that it works, I'd like a little more confidence at least.
Luthaf commentedon Mar 16, 2016
Ok, I only got one failure on the test suite. Please see #43 for the changes.
rhd commentedon Apr 21, 2016
I'd like to see the boost fallback on gcc 4.8 as well.