diff options
author | Philipp A. Hartmann <pah@qo.cx> | 2014-08-11 17:48:43 +0400 |
---|---|---|
committer | Philipp A. Hartmann <pah@qo.cx> | 2014-08-11 19:15:07 +0400 |
commit | 3755470f0f24225ad22abc925cd093f407b7c1a7 (patch) | |
tree | 1acda1d1c2573549a9d7efb2b8c2c6a1e0a38984 /include/rapidjson/internal | |
parent | e29a4521b114b015a80b55c4a465a18c55fcce05 (diff) |
BaseReaderHandler: allow overriding of Default() implementation
By adding an optional CRTP template parameter, the BaseReaderHandler
can call the "overridden" `Default()` function from the `Derived`
class.
See https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
Diffstat (limited to 'include/rapidjson/internal')
-rw-r--r-- | include/rapidjson/internal/meta.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/rapidjson/internal/meta.h b/include/rapidjson/internal/meta.h index 62d5224d..b19a9f4b 100644 --- a/include/rapidjson/internal/meta.h +++ b/include/rapidjson/internal/meta.h @@ -21,6 +21,11 @@ #ifndef RAPIDJSON_INTERNAL_META_H_
#define RAPIDJSON_INTERNAL_META_H_
+#ifdef __GNUC__
+RAPIDJSON_DIAG_PUSH
+RAPIDJSON_DIAG_OFF(effc++)
+#endif
+
//@cond RAPIDJSON_INTERNAL
namespace rapidjson {
namespace internal {
@@ -94,4 +99,8 @@ template <typename T> struct RemoveSfinaeFptr<SfinaeResultTag&(*)(T)> { typedef } // namespace rapidjson
//@endcond
+#ifdef __GNUC__
+RAPIDJSON_DIAG_POP
+#endif
+
#endif // RAPIDJSON_INTERNAL_META_H_
|