Commit Graph

161 Commits

Author SHA1 Message Date
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 4d48485d4c util: Oops... fixed build error 2019-06-16 01:12:11 -04:00
pythonology 6a89e22a29 serialization: Fix incorrect byte alignment when...
...dynamic properties contain object pointers that end with bit-based
properties.
2019-06-15 23:12:04 -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 8d1b9c21be cmake: Fix ZLIB_STATIC errors on Linux 2019-01-21 13:15:22 +00:00
Joshua Scott 0692adfb78 cmake: Implement static linking for ZLIB by setting ZLIB_STATIC 2019-01-21 12:57:51 +00:00
Joshua Scott 7aca9ceda5 serialization: Fix issue with empty arrays in JsonSerializer 2019-01-21 12:27:55 +00:00
pythonology 680d378002 pclass: EnumType::write_to should first attempt cast the value to `Enum` 2019-01-10 23:30:54 -05: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 bab80d20c7 pclass: Cleanup VectorProperty and fix build errors 2018-12-21 01:20:52 +00:00
Joshua Scott 2dad313885 pclass: Add value_caster specialization for json to bit integer 2018-12-20 15:45:52 +00:00
Joshua Scott b5559834ac etc: Combine IProperty with IDynamicProperty, and cleanup StaticProperty 2018-12-20 15:39:31 +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 c512185115 pclass: Second attempt to fix BitInteger casters on CI 2018-12-15 17:11:16 +00:00
Joshua Scott 8c70a249d8 pclass: Possible fix for BitInteger casters not building on CI 2018-12-15 17:07:33 +00:00
Joshua Scott 25355c22bc pclass: Fix issue with Value compiling on CI 2018-12-15 16:56:09 +00:00
Joshua Scott 1a3dfbea48 serialization: Implement saving via JsonSerializer 2018-12-15 16:52:36 +00:00
Joshua Scott def6549bcb pclass: Implement casters between primitives and json object 2018-12-15 16:51:45 +00:00
Joshua Scott 20f74ee004 serialization: Rename SerializerBinary to BinarySerializer 2018-12-14 15:27:06 +00:00
Joshua Scott 187de3feba util: Fix missing include build error on CI for std::unique_ptr<T> 2018-12-14 15:07:17 +00:00
Joshua Scott a2c577ce47 etc: Start using smart pointers 2018-12-13 22:12:04 +00:00
Joshua Scott 1955e72bb9 pclass: Fix a potential future problem 2018-12-13 00:57:56 +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 377136ef0d pclass: Attempt to fix macro issue on CI 2018-12-10 21:35:51 +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 28eee3699c pclass: Fix missing include compile error on CI 2018-12-09 23:31:55 +00:00
Joshua Scott 62fc1e13ef util: Fix missing noexcept compile error on CI 2018-12-09 23:28:40 +00:00
Joshua Scott 19324c06ba test: SerializerBinary tests 2018-12-09 23:21:51 +00:00
Joshua Scott 4872d1a2a4 pclass: Improve Value casting and implement basic enum types 2018-12-09 23:21:22 +00:00
Joshua Scott 595b6167c0 pclass: Fix CI build errors 2018-12-05 00:45:01 +00:00
Joshua Scott 38f69d722c pclass: Implement Value casting 2018-12-04 22:24:26 +00:00
Joshua Scott 24d3c0f146 util: Improve test coverage for BitBuffer/BitStream 2018-12-01 17:17:19 +00:00
Joshua Scott 6a213c18d4 etc: Change naming convention for base classes (prefix with "I") 2018-12-01 17:16:40 +00:00
Joshua Scott 34bc3d30bc etc: Move the responsibility of type checking to properties 2018-11-27 15:36:57 +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 ad448befe6 Merge branch 'master' into feature/object-property 2018-11-18 17:19:58 +00:00
Joshua Scott cc788b12b3 etc: Add Doxygen 2018-11-18 17:19:18 +00:00
Joshua Scott 4e3b3de391 util: Implement a common interface for bit streams 2018-11-18 17:10:21 +00:00
Joshua Scott 050a63152b util: Attempt to fix error with FlagsEnum 2018-11-16 15:32:17 +00:00
Joshua Scott abbaf7ce58 pclass: Fix build errors on CI 2018-11-16 15:18:32 +00:00
Joshua Scott d6442068ed serialization: Start implementing SerializerBinary
This current implementation can fully save objects, but cannot currently load them.
2018-11-16 15:04:00 +00:00
Joshua Scott 48aba1f0df pclass: Implement string primitives and class types 2018-11-16 15:02:43 +00:00
Joshua Scott 25d371b49f util: Forgot to push header file for previous commit 2018-11-16 14:53:46 +00:00
Joshua Scott b9455e243f util: Add write_copy and read_copy to BitStream 2018-11-16 14:52:49 +00:00
Joshua Scott fd84614450 pclass: Implement floating point primitives 2018-10-26 18:40:11 +01:00
Joshua Scott 1fbfaee8cb pclass: Define bit integers as primitive types on TypeSystem 2018-10-26 15:03:18 +01:00