Commit Graph

37 Commits

Author SHA1 Message Date
pythonology 6518148b50 pclass: Rename Type::is_byte_based -> Type::is_byte_aligned
Also introduced the Type::cast convenience method. This is primarily to
fix type casting over in kipy when deserializing XML values. This
was necessary since properties in kipy are not type-aware, and as such
couldn't determine if the value was actually a string, or meant to
be casted to something else.
2019-07-04 00:15:41 -04:00
pythonology 5a0ec6f2d7 pclass: Introduce the PUBLIC property flag, along with the WRITE_PUBLIC_ONLY serializer flag
Also fixed issues with serializer tests.
2019-06-27 19:42:18 -04:00
pythonology 40d088efe3 serialization: Fix inconsistencies in binary serialization
- Fixed incorrect byte alignment following bit-based types.
- Boolean types are now serialized as 1 bit.
- write_to/read_from methods now take an is_file argument.
  Types such as enums, and strings change their serialization format depending on if they're in file mode or not.
- Enums now serialize the element name in file mode, and element value otherwise.
2019-06-02 22:38:29 -04:00
Joshua Scott 69189e0fba serialization: Add FileSerializer and XmlSerializer 2019-01-07 22:49:12 +00:00
Joshua Scott 4833f7fb76 etc: Refactoring, documentation, and more tests 2019-01-01 20:54:57 +00:00
Joshua Scott f3aa42578d serialization: Implement JsonSerializer loading functionality 2018-12-18 21:35:59 +00:00
Joshua Scott f9ab6560d9 pclass: Fix CI build errors + small change to value_caster 2018-12-15 22:03:08 +00:00
Joshua Scott 1a3dfbea48 serialization: Implement saving via JsonSerializer 2018-12-15 16:52:36 +00:00
Joshua Scott 20f74ee004 serialization: Rename SerializerBinary to BinarySerializer 2018-12-14 15:27:06 +00:00
Joshua Scott a2c577ce47 etc: Start using smart pointers 2018-12-13 22:12:04 +00:00
Joshua Scott 9e5ca2816f test: Add compression tests for SerializerBinary 2018-12-11 20:33:58 +00:00
Joshua Scott 7181c49bfb test: Add properties to slightly improve serialization coverage 2018-12-11 15:47:37 +00:00
Joshua Scott c7829e5235 etc: Fix build and test errors on CI 2018-12-11 01:19:30 +00:00
Joshua Scott c61a723174 etc: Make Type::read_from return a Value instead of reading into one 2018-12-10 21:26:34 +00:00
Joshua Scott 19324c06ba test: SerializerBinary tests 2018-12-09 23:21:51 +00:00
Joshua Scott 24d3c0f146 util: Improve test coverage for BitBuffer/BitStream 2018-12-01 17:17:19 +00:00
Joshua Scott 3a22c992b5 etc: Implement deserialization and object copying
Also make BitStream tests use REQUIRE instead of SUCCESS and FAIL for better output.
2018-11-27 11:51:56 +00:00
Joshua Scott 4e3b3de391 util: Implement a common interface for bit streams 2018-11-18 17:10:21 +00:00
Joshua Scott 175d4dda77 pclass: Add write<bool> and read<bool> to BitStream test 2018-10-26 14:52:02 +01:00
Joshua Scott 8f5d31d071 pclass: Implement BitInteger and other bit utilities 2018-10-26 14:42:00 +01:00
Joshua Scott 8f7d9bc896 util: Fix small error in BitStream::stream_pos decrement by bits test 2018-10-20 20:14:12 +01:00
Joshua Scott f90dc888bb util: Write further tests for BitStream::stream_pos coverage 2018-10-20 20:08:39 +01:00
Joshua Scott 3f5450c64e util: Fix buffer expansion and reformat unit tests 2018-10-20 18:17:35 +01:00
Joshua Scott b0a2cb4d1d Merge branch 'master' into feature/object-property 2018-10-20 01:25:17 +01:00
Joshua Scott 0e42874dc3 test: Output reports as JUnit xml 2018-10-20 01:23:55 +01:00
Joshua Scott 6249d6ee32 util: Add BitStream class + tests 2018-10-20 00:09:50 +01:00
Joshua Scott 2632ef563c test: Fix narrowing errors in arary initialization 2018-04-16 21:03:47 +01:00
Joshua Scott d7f5196a36 test: Add tests for control message serialization/deserialization 2018-04-16 19:02:03 +01:00
Joshua Scott 19f7cd1334 test: Test Record serialization/deserialization and NOXFER fields 2018-03-30 21:12:54 +01:00
Joshua Scott 2f56518b66 dml: Replace usage of wchar_t with char16_t 2018-03-30 20:05:01 +01:00
Joshua Scott 977ea2310e dml: Specialize string types
(also, fixed the tests for strings)
2018-03-30 18:58:57 +01:00
Joshua Scott 7903e23d90 dml: Specialize floating point types
(also, fixed a typo in the tests for DBL fields)
2018-03-30 16:54:02 +01:00
Joshua Scott 029acce2d0 test: DML field deserialization tests 2018-03-30 16:33:30 +01:00
Joshua Scott 110ecbcea9 test: Fix typo in DML unit tests 2018-03-29 23:23:19 +01:00
Joshua Scott 190e8d197f test: DML unit tests
Still need to write the deserialization tests
2018-03-29 23:21:49 +01:00
Joshua Scott 21ccbf0cd7 cmake: Set CXX_STANDARD to 11 on examples and tests 2018-03-29 15:48:20 +01:00
Joshua Scott ddbeb492b6 cmake: Add CMakeLists.txt
Includes unit tests (using Catch2) and examples
2018-03-26 19:19:39 +01:00