16 Commits

Author SHA1 Message Date
木头云
8731413d30 refactor(uninitialized): Improve construct() overload resolution
IMPROVEMENTS:
1. Add explicit zero-argument overload to avoid SFINAE ambiguity
2. Require at least one argument (A1) for parameterized overloads
3. Better separation between direct initialization and aggregate initialization

BENEFITS:
- Clearer intent: zero-argument construction is explicitly handled
- Avoids potential SFINAE ambiguity when empty parameter pack is used
- More maintainable: easier to understand which overload is selected
- Consistent with modern C++ best practices for variadic templates

TECHNICAL DETAILS:
- Zero-arg overload: Always uses T() for value initialization
- One-or-more-arg overload: Uses SFINAE to choose between:
  * T(args...) for types with matching constructor
  * T{args...} for aggregate types or types with initializer_list ctor

This is a code quality improvement and does not fix any compilation issues,
but provides better template overload resolution.
2025-12-12 07:04:31 +00:00
mutouyun
63f35484d7 Refactoring the generic memory allocator 2025-12-12 07:04:31 +00:00
mutouyun
39c7c5c70b The memory allocator supports runtime dynamic size memory allocation 2025-12-12 07:04:31 +00:00
mutouyun
52951e44f8 Add system 2025-12-12 07:04:31 +00:00
mutouyun
5f75f1d738 Add result 2025-12-12 07:04:31 +00:00
mutouyun
8ec7c6a486 IPC_EXPORT => LIBIPC_EXPORT 2025-12-12 07:04:31 +00:00
mutouyun
ecd1aaac40 Add log 2025-12-12 07:04:31 +00:00
mutouyun
208ac889e7 Add error 2025-12-12 07:04:31 +00:00
mutouyun
d20f88c349 Added fmt support for byte 2025-12-12 07:04:31 +00:00
mutouyun
bc29c85c1a Add fmt 2025-12-12 07:04:31 +00:00
mutouyun
95bf3afe9b Add codecvt 2025-12-12 07:04:31 +00:00
mutouyun
f3ca9a30e8 libimp => libipc 2025-12-12 07:04:31 +00:00
mutouyun
a4eeac7217 Add nameof & scope_exit 2025-12-12 07:04:31 +00:00
mutouyun
1eaadf80f2 Move the export.h file to the imp directory 2025-12-12 07:04:31 +00:00
mutouyun
bf7c6b41e9 Add expected 2025-12-12 07:04:31 +00:00
mutouyun
2e7ab8b34f Add imp for subsequent refactoring 2025-12-12 07:04:31 +00:00