ckissane added a comment. @dblaikie @MaskRay I would like it if you could all take another look.
In response to @dblaikie 's comments about implementation weight I have greatly simplified the implementation, including removing extra capitalized function overloads (Compress, Decompress), and removing || and && operator overrides. Also adopting the recently suggested class impl in part. I also believe similar semantics to the nullptr suggestion have been achieved, due to the bool cast returning supported status, and the Unknown type acting as a nullptr of sorts, being always unsupported and -1 (255) as a uint8. `Optional(Unknown)` is returned from `getOptionalCompressionKind(uint8_t)` when it is not 0 (NoneType()), 1 (`Optional(Zlib)`), or 2 (`Optional(ZStd)`). In places where explict compression must be used `CompressionKind` can be passed around, and possibly optional (sometimes none) compression is represented as `llvm::Optional<CompressionKind>` which I have type aliased as `OptionalCompressionKind` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130516/new/ https://reviews.llvm.org/D130516 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits