126 Commits

Author SHA1 Message Date
Mindaugas Vinkelis
9bebfd4911 prepare for 5.2.5 v5.2.5 2025-10-08 21:21:38 +03:00
Mindaugas Vinkelis
5e7ecede9b cast from polymorphic owner pointer-like type to observer during assignment 2025-10-08 20:36:15 +03:00
Mindaugas Vinkelis
ff841d63f6 check type information before assigning to observer pointer 2025-10-08 13:13:20 +03:00
Mindaugas Vinkelis
66d16516e2 Fix shared polymorphic poiner like type serialization/deserialization 2025-10-02 14:20:33 +03:00
Mindaugas Vinkelis
7ea1da0d48 clang-format using ./format.sh 2025-09-09 17:38:23 +03:00
Jules
8bda82576e Fix spelling error of "likely" 2025-02-09 15:21:02 +02:00
Mindaugas Vinkelis
ee992d8b57 changelog update for 5.2.4 v5.2.4 2024-07-29 22:34:06 +03:00
anton-kl
4dcdd594da Fix typo in a comment 2024-07-21 11:00:53 +03:00
Pol Marcet Sardà
b714459a2b Implement brief syntax for optional and bitset 2024-07-21 11:00:13 +03:00
Pol Marcet Sardà
be2f295310 Discourage inlining the resize case, as that should happen rather rarely.
If you additionally reuse buffers, this will increase the performance
further.

The metrics based on some internal benchmarks show a speedup of about 1%:

bitsery <dont inline bad cases>
  BigString: 222092ns
  ComplexLittleObjects: 34115ns
  ComplexLittleObjectsBig: 6222801ns

bitsery <original>
  BigString: 242853ns
  ComplexLittleObjects: 35738ns
  ComplexLittleObjectsBig: 6334747ns

The assembly has been checked to be correct: https://godbolt.org/z/Wr7qvfGrK

Additionally, when allocating code, we can tell the compiler that we are
not resizing to a lower size, this saves on gcc 14 a few instructions.
The improvement should be negligible.
2024-07-21 10:58:53 +03:00
Pol Marcet Sardà
cd73aca2f5 Fix compilation errors in clang 17 2024-07-21 10:58:53 +03:00
NBurley93
94f7adaf6c FIX: Build error on GCC 13.x (#106)
Refer to https://gcc.gnu.org/gcc-13/porting_to.html for details on why change was needed
2023-06-06 10:09:26 +03:00
SoftdriveFelix
ceeb189c8b Changes the code path for arrays of bytes in big (#105)
Thanks for PR!
2023-05-09 08:47:18 +03:00
Mindaugas Vinkelis
90243480ec use latests compilers from ubuntu to run tests 2023-05-09 08:40:14 +03:00
Mindaugas Vinkelis
d1a47e06e2 change log update for 5.2.3 v5.2.3 2022-12-01 14:25:34 +02:00
Mindaugas Vinkelis
3e02d0ca44 format code base in Mozilla style 2022-12-01 13:50:03 +02:00
Mindaugas Vinkelis
d690908541 reworked bitpacking, to fix measure size (measure size now is not
bit-packing enabled by default)
2022-12-01 13:42:02 +02:00
Mindaugas Vinkelis
d3dd64baaf changed increaseBufferSize signature
simplified adapters implementations
2022-04-21 20:01:58 +03:00
museghost
d24e0ab1b3 fix shadow warning in gcc8 (#1) (#87)
Co-authored-by: brian.kim <brian.kim@beatthemarket.co.kr>
2021-10-22 12:44:38 +03:00
Mindaugas Vinkelis
c0fc083c9d Additional improvements for v5.2.2 release
* migration to github actions
* additionally build tests/examples on windows and macos
v5.2.2
2021-08-31 22:16:47 +03:00
michael-mueller-git
bcd03b4d68 Add Missing header (#82)
* add missing header to develop
* add test to check include files
* fix missing includes
* improve test target names

Co-authored-by: arch <arch@local>
2021-08-24 09:28:15 +03:00
Mindaugas Vinkelis
4ff80c6426 fix: std::variant access with get_if using index 2021-05-31 08:12:28 +03:00
Mindaugas Vinkelis
126a6c2971 Merge pull request #77 from robbert-vdh/feature/nontrivial-variant-deserialization
Avoid reinitializing nontrivial std::variant
2021-05-29 09:31:51 +03:00
Robbert van der Helm
d1830a263b Avoid reinitializing nontrivial std::variant #76
When deserializing into an `std::variant<Ts...>` and the object we're
deserializing into already holds the requested variant, then we should
try to deserialize into the existing object instead of recreating it if
the variant is a nontrivial type. This is important when the object has
a default constructor that performs a nontrivial amount of work, or when
the object contains heap data that would need to be reallocated when
recreating the object.
2021-05-28 14:55:59 +02:00
Mindaugas Vinkelis
47f6f9248a Merge pull request #75 from victorstewart/16b
add 16 byte value (aka uint128_t) usage
2021-05-28 14:23:30 +03:00
Victor Stewart
9688cb03d2 add 16 byte value (aka uint128_t) usage 2021-05-15 21:03:56 +00:00
Mindaugas Vinkelis
db884a0656 release v5.2.1
BufferAdapter statically assert on underlying type size

bugfix in StdBitset
v5.2.1
2020-11-14 11:36:22 +02:00
Mindaugas Vinkelis
8a00183c80 release 5.2.0 v5.2.0 2020-11-09 18:59:24 +02:00
Mindaugas Vinkelis
8a5e12a125 fixed typo 2020-11-07 12:07:14 +02:00
Michael Puskas
ee7bb2cb93 Fixed unknown-pragmas warnings on non-MSVC. (#69)
Changes:
Surrounded the MSVC-specific "disable warning" pragmas with MSVC
guards.
2020-11-07 12:05:36 +02:00
Mindaugas Vinkelis
d787680819 release v5.1.0 v5.1.0 2020-06-08 14:32:18 +03:00
domgho
a519d333e2 Fix typo (#57) 2020-05-16 20:32:33 +03:00
Nick Renieris
826b8d4269 std::atomic support (#54) 2020-05-02 22:05:04 +03:00
Mindaugas Vinkelis
16f637da0d integer casts part3 2020-04-21 10:04:09 +03:00
tower120
9cade41dbb msvc warnings suppression (#47) 2020-04-21 08:38:16 +03:00
tower120
3dc5940c16 Integer casts. Part 2. (#41) 2020-04-21 08:35:32 +03:00
tower120
a544879b22 basic_ios <=> basic_ostream (#45)
basic_ios changed to basic_ostream and basic_istream
2020-04-16 21:48:49 +03:00
tower120
d47ee834e4 fix integer cast warnings. (#38) 2020-04-15 13:17:44 +03:00
Mindaugas Vinkelis
c556c75100 fixed some include paths 2020-04-15 12:46:42 +03:00
Mindaugas Vinkelis
541632fa9e VIP tutorial on Version extension 2020-02-06 20:00:42 +02:00
Mindaugas Vinkelis
d24dfe14f5 provided read/write method for adapaters that accepts number of bytes at
compile-time
v5.0.3
2020-01-29 15:08:25 +02:00
Mindaugas Vinkelis
ee68261124 rewriten buffer adapters, to fix UB when incrementing past the end iterator. 2020-01-27 16:21:39 +02:00
Mindaugas Vinkelis
d22b7c1527 release v5.0.2 v5.0.2 2020-01-17 11:05:56 +02:00
Mindaugas Vinkelis
8d6ffc9873 extracted Centos7 gcc4.8.2 specific code into separate patch file 2020-01-17 09:28:26 +02:00
Arnaud Botella
0e76e0608c Fix compilation with gcc 4.8.2 (#33)
Update for gcc4.8.2 for Centos7
2020-01-17 08:08:49 +02:00
Mindaugas Vinkelis
501d60f67d Merge pull request #30 from nicktrandafil/master
fix non default constructible container deserialization
2019-11-25 09:41:04 +02:00
Nicolai Trandafil
04afd16fbd fix non default constructible container deser 2019-11-24 14:30:43 +02:00
Nicolai Trandafil
9621db1cd7 add a failing case 2019-11-24 14:24:15 +02:00
Mindaugas Vinkelis
c555088aa3 version 5.0.1 release v5.0.1 2019-08-21 14:03:20 +03:00
Mindaugas Vinkelis
c9619e3e3d macOS compilation fix and polymorphic handler deleter fix 2019-08-21 13:58:43 +03:00