diff --git a/peglib.h b/peglib.h index 487a9f5..6202d9f 100644 --- a/peglib.h +++ b/peglib.h @@ -23,6 +23,18 @@ #include #include +// guard for older versions of VC++ +#ifdef _MSC_VER +// VS2013 has no constexpr +#if (_MSC_VER == 1800) +#define PEGLIB_NO_CONSTEXPR_SUPPORT +#elif (_MSC_VER >= 1800) +// good to go +#else (_MSC_VER < 1800) +#error "Requires C+11 support" +#endif +#endif + namespace peg { extern void* enabler; @@ -2479,7 +2491,7 @@ class peg_token_iterator : public std::iterator::max()) {} + , pos_((std::numeric_limits::max)()) {} peg_token_iterator(const char* syntax, const char* s) : peg_(syntax) @@ -2534,7 +2546,7 @@ class peg_token_iterator : public std::iterator::max(); + pos_ = (std::numeric_limits::max)(); } }