dalingmeng opened a new pull request, #5: URL: https://github.com/apache/paimon-cpp/pull/5
### Purpose No Linked issue. Introduce common utility modules to the apache/paimon-cpp codebase. These modules provide reusable data structures and helper functions that other components depend on. - Introduce `BinPacking` for ordered bin packing of weighted items (`bin_packing.h`) - Introduce `LinkedHashMap` providing insertion-ordered key-value map (`linked_hash_map.h`) - Introduce `LongCounter` for simple int64 accumulation (`long_counter.h`) - Introduce `Math` utilities including `InRange` and `EndianSwapValue` (`math.h`) - Introduce `ScopeGuard` for RAII-style cleanup callbacks (`scope_guard.h`) - Introduce `ThreadsafeQueue` for thread-safe queue operations (`threadsafe_queue.h`) - Introduce `UUID` generator with cross-platform support for Linux and macOS (`uuid.h`) - Preserve third-party attribution comments (RocksDB/LevelDB, Facebook) ### Tests - `bin_packing_test.cpp` — BinPacking ordered packing correctness - `linked_hash_map_test.cpp` — LinkedHashMap insertion, lookup, deletion and iteration - `long_counter_test.cpp` — LongCounter add, merge and reset - `math_test.cpp` — InRange and EndianSwapValue correctness - `scope_guard_test.cpp` — ScopeGuard execution and release - `threadsafe_queue_test.cpp` — ThreadsafeQueue push, pop and thread safety - `uuid_test.cpp` — UUID generation and format validation ### API and Format ### Documentation ### Generative AI tooling -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
