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;