gestures: Don't expose C++11 types if building under C++03
This removes the definition of GestureInterpreter from clients who build
with C++03. They must use the C interface of GestureInterpreter.
TEST=unit tests
BUG=chromium:351168
Change-Id: I0e7b3f2eda40c61a6db77d8597e6b871f35b71aa
Reviewed-on: https://chromium-review.googlesource.com/194963
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
diff --git a/include/gestures.h b/include/gestures.h
index 4c6a4ab..fd90b43 100755
--- a/include/gestures.h
+++ b/include/gestures.h
@@ -467,6 +467,8 @@
class GestureInterpreterConsumer;
class MetricsProperties;
+#if __cplusplus >= 201103L
+
struct GestureInterpreter {
public:
explicit GestureInterpreter(int version);
@@ -517,6 +519,14 @@
void operator=(const GestureInterpreter&);
};
+#else // __cplusplus >= 201103L
+
+// Must be opaque under C++03 builds, since it has unique_ptr members.
+struct GestureInterpreter;
+
+#endif // __cplusplus >= 201103L
+
+
} // namespace gestures
typedef gestures::GestureInterpreter GestureInterpreter;