diff --git a/cpp/README.md b/cpp/README.md index 249f6cda..c493dc61 100644 --- a/cpp/README.md +++ b/cpp/README.md @@ -68,7 +68,6 @@ For the first layer of the wrapper, built using Cargo: - CXX doesn't provide integration between Rust's `Option<_>` and C++'s `std::optional`, so sentinel values are used to communicate the absence of a value in the wrapper's API: - For `Option<&str>`, `None` is represented using an empty string, which is how it's already done for many metadata object fields in the C++ implementation of libloot. - For `Option`, `None` is represented using `NaN`, since the C++ implementation of libloot's public API already says that `NaN` values get converted to `None`. - - Plugin CRCs (which are `Option` in Rust) are represented as `int64_t`, with `-1` representing `None`, since all `uint32_t` values are possibly valid CRCs. - All Rust errors are converted to `::rust::Error` exceptions that have a `what()` string that is the concatenation of the error's display string and all its recursive source error display strings. For some errors the `what()` string also includes some data that is parsed by the wrapper's second layer to differentiate certain error types. For the ABI-compatible second layer of the wrapper, built using CMake: