Add a #[no_std] Rust version (and a C++ one that will eventually be directly comparable to this Rust one, not currently).