Skip to content

Commit 020a01c

Browse files
yo35BotellaA
authored andcommitted
fix(IO): enable serialization for signed/unsigned 8/16-bits attributes
1 parent 0cd5c69 commit 020a01c

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

include/geode/basic/detail/bitsery_archive.hpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323

2424
#pragma once
2525

26+
#include <type_traits>
27+
2628
#include <geode/basic/bitsery_archive.hpp>
2729

2830
#include <absl/container/inlined_vector.h>
@@ -75,17 +77,28 @@ namespace geode
7577
template < typename Serializer >
7678
void register_basic_pcontext( PContext& context )
7779
{
80+
// Base types (skip aliases registered below...)
7881
register_attribute_type< bool, Serializer >( context, "bool" );
82+
register_attribute_type< signed char, Serializer >(
83+
context, "signed_char" );
84+
static_assert( std::is_same_v< unsigned char, local_index_t > );
85+
register_attribute_type< short, Serializer >( context, "short" );
86+
register_attribute_type< unsigned short, Serializer >(
87+
context, "unsigned_short" );
7988
register_attribute_type< int, Serializer >( context, "int" );
89+
static_assert( std::is_same_v< unsigned int, index_t > );
8090
register_attribute_type< float, Serializer >( context, "float" );
8191
register_attribute_type< double, Serializer >( context, "double" );
92+
93+
// Other types or aliases
8294
register_attribute_type< local_index_t, Serializer >(
8395
context, "local_index_t" );
8496
register_attribute_type< index_t, Serializer >(
8597
context, "index_t" );
8698
register_attribute_type< uuid, Serializer >( context, "uuid" );
8799
register_attribute_type< std::string, Serializer >(
88100
context, "std::string" );
101+
89102
register_attribute_type_for_all_containers< Serializer, double >(
90103
context, "double" );
91104
register_attribute_type_for_all_containers< Serializer, index_t >(

0 commit comments

Comments
 (0)