GSoC Final Evaluation Part1: Implementing (de)serialization routines for generic data types
Reporter: FaresAtef1 | Status: open | Last Modified: September 09, 2023, 12:47:56 amFinal GSoC Part1 Update
Closes #2326.
This pull request contains updates for my Google Summer of Code (GSoC) project at the Final evaluation stage.
First PR (Midterm Evaluation Part): Changing the way the serialize, serialize_into and deserialize functions work
Third PR(Final Evaluation Part2): Adding support for JSON format
Feature Implementation
- Adding support for
std::vector
. - Adding support for
std::map
. - Adding support for
std::complex
. - Adding support for
std::set
. - Adding support for
std::tuple
. - Adding support for
std::queue
. - Adding support for
std::stack
. - Adding support for
std::pair
.
Testing Functions (unit tests)
- Testing
std::vector
functions. - Testing
std::map
functions. - Testing
std::complex
functions. - Testing
std::set
functions. - Testing
std::tuple
functions. - Testing
std::queue
functions. - Testing
std::stack
functions. - Testing
std::pair
functions.
Organization
- Seperate file for each type.
-
type_traits.h
for all theis_std_type
. - Move
insert_back
to a better place. -
Types_Implementation
new directory. - Clean
serialization_fwd_decl.h
.
To Be Done Before Merging
- Update
byte_size
forstd::vector
andstd::map
. - Update
byte_size
forlua_table
. - Get rid of
enigma_internal_sizeof_type
and replace withbyte_size
directly. - Replace
enable_if<is_same_v<>>
withis_type_t
. - Replace all r-value refs.
Adding new types
See Adding new types for the bytes format
section here.
Sample game that is compatible with the AST_Generation branch
Balloon_Pop (It is the same game in the ENIGMA site but with modified scripts).
Ongoing Work
What's Next
GSoC Final Evaluation 2: Adding support for other serialization formats
Leave a commentView this issue on GitHub
Please sign in to post comments, or you can view this issue on GitHub.