Commit graph

32 commits

Author SHA1 Message Date
Kp 4df9a4b0f0 Use declval for serial class_type 2015-09-13 21:02:19 +00:00
Kp 095e64fd5a Support serializing enum class 2015-07-18 21:01:55 +00:00
Kp 4a742e3fc4 Parenthesize static_assert expression
When static_assert is a macro, it must have two arguments as seen by the
preprocessor.  Add an identity mapping to the native case to enforce
this, and fix up all the sites that break with the new rule.
2015-07-09 03:12:45 +00:00
Kp d5b5846657 Fix serial *_type -fno-inline build 2015-06-11 03:06:58 +00:00
Kp 5124c510f8 Fix serial endian_access -fno-inline build 2015-06-11 03:06:58 +00:00
Kp f7de7d132a Add initial support for minimum_size 2015-06-05 02:34:40 +00:00
Kp a8bb0ad07d Use integral_constant for serial constants 2015-06-05 02:34:40 +00:00
Kp 0fc7b1898c Fix gcc-4.6 serial build
gcc-4.6 chokes on `static constexpr type value{};`, but accepts
`static constexpr auto value = type{};`

Fixes: 9595aec2fb ("Use integral_constant for endian constants")
2015-05-22 03:33:19 +00:00
Kp 9dc22b1ee6 Expand DXX_CXX11_EXPLICIT_DELETE
Various functions use the non-macro form, so support for =delete is
already mandatory.  Remove the remnants of support for compilers which
lack =delete and replace it with a hard stop when the compiler rejects
declaring explicitly deleted functions.
2015-05-01 02:18:33 +00:00
Kp 9595aec2fb Use integral_constant for endian constants 2015-04-19 04:18:50 +00:00
Kp 8d3f047427 Make udt_to_message __attribute__((unused))
Clang warns for unused static inline functions defined in a source file,
including those defined in a macro in a header, when the macro is
expanded in the source file.
2015-02-05 03:03:50 +00:00
Kp 84e3a03451 Remove unused parameters 2015-01-18 01:58:33 +00:00
Kp c704cc9fc9 Add const void* conversion to various types
Add operator const void*() to prevent accidental use of pointer
comparison.  With the overload present, comparing two objects triggers
an ambiguous conversion to pointer, instead of comparing the pointer
values.
2014-10-12 22:11:28 +00:00
Kp ba907fd6e3 Eliminate message<...> for common UDT serialization 2014-09-20 23:04:16 +00:00
Kp d889dd9b7d Pass serial::pad by-value 2014-09-20 22:44:46 +00:00
Kp fece9f51a4 Optimize serial using __builtin_bswap if available 2014-09-20 22:15:32 +00:00
Kp c7d9477fca Optimize serial copies of byte arrays
Switch from a range_for copying bytes to use of copy_n.
2014-09-20 18:14:00 +00:00
Kp cdda53a2e8 Compact pad_storage 2014-09-17 02:44:45 +00:00
Kp 8c527c8e0a Name serial unaligned_storage union 2014-09-04 01:57:04 +00:00
Kp e503a64e31 Support other endian serialization 2014-09-04 01:53:11 +00:00
Kp efbd624f61 Disallow implicitly copying bytebuffer_t 2014-09-02 22:11:31 +00:00
Kp 774d01ddcc Use enable_if dispatching for serial message_type 2014-08-17 23:24:24 +00:00
Kp b5693e65e0 Remove serial detail class_type_indirection 2014-08-12 02:56:59 +00:00
Kp 07036e7962 Use consistent static on process_buffer(message) 2014-07-16 03:21:04 +00:00
Kp 7a1b103ed1 Reduce template recursion in serializer 2014-07-02 03:08:44 +00:00
Kp 7836562a24 Switch serial pad constants to static const 2014-06-22 22:12:17 +00:00
Kp 77ba463614 Compile out unneeded pad initialization 2014-06-22 22:04:23 +00:00
Kp 57a3541424 Fix serial::pad for gcc 4.5 2014-06-21 23:21:30 +00:00
Kp cb498b3b38 Make padding value customizable 2014-06-20 02:59:53 +00:00
Kp 958f452d2e Improve UDT static_assert messages 2014-06-15 22:19:26 +00:00
zico ad7cb106bc Changed custom D1X license to GPLv3 2014-06-01 19:55:23 +02:00
Kp 9b0fb5da0a Write eclip structures carefully 2014-02-01 18:55:18 +00:00