wgtmac opened a new pull request, #598: URL: https://github.com/apache/iceberg-cpp/pull/598
Adds StructLikeSet<bool kValidate = true>, a hash set for StructLike rows backed by an internal arena allocator. Key design points: - Deep-copies inserted rows into a monotonic_buffer_resource arena; string data and nested struct/list/map scalars are fully materialized so the set owns its memory independently of the caller - Transparent heterogeneous lookup: Contains() does not allocate a temporary key - Hash and equality semantics match the Java reference implementation (String.hashCode, StructLikeHash, ListHash; float/double use canonical NaN bits and distinguish ±0.0) - Schema validation (field count + scalar type) on Insert/Contains; can be disabled via kValidate=false (UncheckedStructLikeSet) when the caller guarantees conformance - Internal Arena wrapper containers use std::pmr::vector -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
