diff options
author | David Reiss <dreiss@apache.org> | 2007-08-14 19:59:26 +0000 |
---|---|---|
committer | David Reiss <dreiss@apache.org> | 2007-08-14 19:59:26 +0000 |
commit | 8320a92d9b07f8dc5f7d9f0517a28bec64ce20e2 (patch) | |
tree | 6003fc152953dc859d076eb7f57ffacdfd0b289a /test/OptionalRequiredTest.thrift | |
parent | cbd4bacc307c0103aa07d5bbc2104e14b8a29aac (diff) | |
download | thrift-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.thrift | 42 |
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; +} |