์ƒ์„ฑ๋œ C++

#[cxx::bridge]
mod ffi {
    // C++์— ๋…ธ์ถœ๋œ Rust ํƒ€์ž… ๋ฐ ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ณ์ž…๋‹ˆ๋‹ค.
    extern "Rust" {
        type MultiBuf;

        fn next_chunk(buf: &mut MultiBuf) -> &[u8];
    }
}

๊ทธ ๊ฒฐ๊ณผ๋Š” ๋Œ€๋žต ๋‹ค์Œ๊ณผ ๊ฐ™์€ C++์ž…๋‹ˆ๋‹ค.

struct MultiBuf final : public ::rust::Opaque {
  ~MultiBuf() = delete;

private:
  friend ::rust::layout;
  struct layout {
    static ::std::size_t size() noexcept;
    static ::std::size_t align() noexcept;
  };
};

::rust::Slice<::std::uint8_t const> next_chunk(::org::blobstore::MultiBuf &buf) noexcept;