diff options
author | Joe George <joe@zeroc.com> | 2016-07-11 09:17:55 -0400 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2016-07-11 09:25:01 -0400 |
commit | ef64ff67e60bf1e64d15608b96fcb4591add2426 (patch) | |
tree | 71d77ee61490e0fb213128468a910d6303b5645e /cpp/include/Ice/StreamHelpers.h | |
parent | Update to use latest Gradle Ice builder version (diff) | |
download | ice-ef64ff67e60bf1e64d15608b96fcb4591add2426.tar.bz2 ice-ef64ff67e60bf1e64d15608b96fcb4591add2426.tar.xz ice-ef64ff67e60bf1e64d15608b96fcb4591add2426.zip |
StreamReader/Writer improvements
- No longer generate StreamWriter partial template specialization for
C++ classes/structs/exceptions which have no optional members.
- Reduce generated code size for all C++11 StreamReader/Writers.
Diffstat (limited to 'cpp/include/Ice/StreamHelpers.h')
-rw-r--r-- | cpp/include/Ice/StreamHelpers.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cpp/include/Ice/StreamHelpers.h b/cpp/include/Ice/StreamHelpers.h index 024f50eae5f..a7773a27090 100644 --- a/cpp/include/Ice/StreamHelpers.h +++ b/cpp/include/Ice/StreamHelpers.h @@ -360,9 +360,12 @@ struct StreamHelper<T, StreamHelperCategoryBuiltin> template<typename T, typename S> struct StreamWriter { - static inline void write(S*, const T&) + static inline void write(S* stream, const T& v) { - // Default is to do write nothing +#ifdef ICE_CPP11_MAPPING + stream->writeAll(v.ice_tuple()); +#endif + // Default is to write nothing for C++98 } }; |