pythonology
a9386abfeb
serialization: Add trace logs for BinarySerializer::load when compiled using debug build type
...
These may be removed in the final release, however, for the time being
they are fairly useful. The compiler will optimize the full "line" out
when compiled using the release build type, so no performance is lost.
2019-07-05 00:07:17 -04:00
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
81376458ac
serialization: Fix loading of empty vectors in the XML serializer
2019-06-29 23:38:34 -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
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