木头云 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
..
aligned.h Add imp for subsequent refactoring 2025-03-09 18:02:50 +08:00
byte.h Added fmt support for byte 2025-03-09 18:02:51 +08:00
codecvt.h IPC_EXPORT => LIBIPC_EXPORT 2025-03-09 18:02:51 +08:00
detect_plat.h Add imp for subsequent refactoring 2025-03-09 18:02:50 +08:00
error.h Add error 2025-03-09 18:02:51 +08:00
expected.h Add result 2025-03-09 18:02:51 +08:00
export.h IPC_EXPORT => LIBIPC_EXPORT 2025-03-09 18:02:51 +08:00
fmt_cpo.h IPC_EXPORT => LIBIPC_EXPORT 2025-03-09 18:02:51 +08:00
fmt.h Add result 2025-03-09 18:02:51 +08:00
generic.h Refactoring the generic memory allocator 2025-03-09 18:02:51 +08:00
log.h Add log 2025-03-09 18:02:51 +08:00
nameof.h IPC_EXPORT => LIBIPC_EXPORT 2025-03-09 18:02:51 +08:00
result.h Add result 2025-03-09 18:02:51 +08:00
scope_exit.h libimp => libipc 2025-03-09 18:02:50 +08:00
span.h Add imp for subsequent refactoring 2025-03-09 18:02:50 +08:00
system.h Add system 2025-03-09 18:02:51 +08:00
uninitialized.h fix(uninitialized): Fix MSVC compilation error with std::map node construction 2025-12-01 07:31:15 +00:00