summaryrefslogtreecommitdiff
path: root/test/OptionalRequiredTest.thrift
diff options
context:
space:
mode:
authorDavid Reiss <dreiss@apache.org>2007-08-14 19:59:26 +0000
committerDavid Reiss <dreiss@apache.org>2007-08-14 19:59:26 +0000
commit8320a92d9b07f8dc5f7d9f0517a28bec64ce20e2 (patch)
tree6003fc152953dc859d076eb7f57ffacdfd0b289a /test/OptionalRequiredTest.thrift
parentcbd4bacc307c0103aa07d5bbc2104e14b8a29aac (diff)
downloadthrift-8320a92d9b07f8dc5f7d9f0517a28bec64ce20e2.tar.gz
Thrift: Merging external patch.
Summary: Merging a patch from Andy Lutomirsky. - Allow fields to be marked "required" or "optional" (only affects C++). - Thrift structs now have operator ==. Reviewed By: mcslee Test Plan: test/OptionalRequiredTest.cpp Revert Plan: ok git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665202 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/OptionalRequiredTest.thrift')
-rw-r--r--test/OptionalRequiredTest.thrift42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/OptionalRequiredTest.thrift b/test/OptionalRequiredTest.thrift
new file mode 100644
index 000000000..9738bd6aa
--- /dev/null
+++ b/test/OptionalRequiredTest.thrift
@@ -0,0 +1,42 @@
+/*
+../compiler/cpp/thrift -cpp OptionalRequiredTest.thrift
+g++ -Wall -I../lib/cpp/src -I/usr/local/include/boost-1_33_1 \
+ OptionalRequiredTest.cpp gen-cpp/OptionalRequiredTest_types.cpp \
+ ../lib/cpp/.libs/libthrift.a -o OptionalRequiredTest
+./OptionalRequiredTest
+*/
+
+cpp_namespace thrift.test
+
+struct OldSchool {
+ 1: i16 im_int;
+ 2: string im_str;
+ 3: list<map<i32,string>> im_big;
+}
+
+struct Simple {
+ 1: /* :) */ i16 im_default;
+ 2: required i16 im_required;
+ 3: optional i16 im_optional;
+}
+
+struct Tricky1 {
+ 1: /* :) */ i16 im_default;
+}
+
+struct Tricky2 {
+ 1: optional i16 im_optional;
+}
+
+struct Tricky3 {
+ 1: required i16 im_required;
+}
+
+struct Complex {
+ 1: i16 cp_default;
+ 2: required i16 cp_required;
+ 3: optional i16 cp_optional;
+ 4: map<i16,Simple> the_map;
+ 5: required Simple req_simp;
+ 6: optional Simple opt_simp;
+}