16 Commits

Author SHA1 Message Date
木头云
d65eafe86a fix(uninitialized): Fix MSVC compilation error with std::map node construction
The issue occurs when container_allocator calls ipc::construct<T>() with no arguments.
MSVC and GCC have different behaviors regarding std::is_constructible for std::map's
internal node type.

Solution:
- Add explicit overload for zero-argument construct() using value initialization T()
- Separate overloads for one or more arguments to avoid SFINAE ambiguity
- This ensures MSVC uses direct initialization T() instead of aggregate initialization T{}

Fixes compilation error on Visual Studio 2017:
error C2512: no appropriate default constructor available
note: Invalid aggregate initialization
2025-12-01 07:31:15 +00:00
mutouyun
32c2be29a9 Refactoring the generic memory allocator 2025-03-09 18:02:51 +08:00
mutouyun
180920968f The memory allocator supports runtime dynamic size memory allocation 2025-03-09 18:02:51 +08:00
mutouyun
85bf8263fb Add system 2025-03-09 18:02:51 +08:00
mutouyun
6db5845a45 Add result 2025-03-09 18:02:51 +08:00
mutouyun
6c068f7ba4 IPC_EXPORT => LIBIPC_EXPORT 2025-03-09 18:02:51 +08:00
mutouyun
d2ba9dce52 Add log 2025-03-09 18:02:51 +08:00
mutouyun
72ec8ee42f Add error 2025-03-09 18:02:51 +08:00
mutouyun
e30ab84ccc Added fmt support for byte 2025-03-09 18:02:51 +08:00
mutouyun
e333bc754e Add fmt 2025-03-09 18:02:50 +08:00
mutouyun
a2d82ec6f0 Add codecvt 2025-03-09 18:02:50 +08:00
mutouyun
54f05e9536 libimp => libipc 2025-03-09 18:02:50 +08:00
mutouyun
e5546179e2 Add nameof & scope_exit 2025-03-09 18:02:50 +08:00
mutouyun
e5a56f02f1 Move the export.h file to the imp directory 2025-03-09 18:02:50 +08:00
mutouyun
ed8f9d06a6 Add expected 2025-03-09 18:02:50 +08:00
mutouyun
67776aea65 Add imp for subsequent refactoring 2025-03-09 18:02:50 +08:00