help wanted
説明
For example the following binding involving https://en.cppreference.com/w/cpp/container/map/at on a std::map:
class json {
public:
using number = double;
using string = std::string;
using array = std::vector<json>;
using object = std::map<string, json>;
...
private:
std::variant<std::monostate, number, string, array, object> value;
};
#[cxx::bridge]
mod ffi {
unsafe extern "C++" {
type json;
fn at<'a>(self: &'a json::object, key: &CxxString) -> &'a json;
}
}
Maybe also as:
#[cxx::bridge]
mod ffi {
unsafe extern "C++" {
type json;
#[cxx_name = "json::object"]
type object;
fn at<'a>(self: &'a object, key: &CxxString) -> &'a json;
}
}