如何为 djinni 定义 const getter?
How to define const getters for djinni?
我用 djinni 定义了一个 C++ 接口:
member = interface +c {
get_id(): string;
get_name(): string;
}
我继承的实现使用 const getter,即
class MyMemeber: public Member {
private:
string id;
string name;
public:
string get_id() const override { return id; }
string get_name() const override { return name; }
}
这显然无法编译,因为 const
属性。我也可以教 djinni 使用 const getter 生成基本接口吗?
尽管从一开始 djinni 就生成常量方法 (line 295 of src/source/CppGenerator.scala),但没有任何记载。在idl文件的方法签名前加上const即可:
member = interface +c {
const get_id(): string;
const get_name(): string;
}
我认为为这个功能(和一些文档)拉取请求测试是个好主意,currently only const fields are tested。
我用 djinni 定义了一个 C++ 接口:
member = interface +c {
get_id(): string;
get_name(): string;
}
我继承的实现使用 const getter,即
class MyMemeber: public Member {
private:
string id;
string name;
public:
string get_id() const override { return id; }
string get_name() const override { return name; }
}
这显然无法编译,因为 const
属性。我也可以教 djinni 使用 const getter 生成基本接口吗?
尽管从一开始 djinni 就生成常量方法 (line 295 of src/source/CppGenerator.scala),但没有任何记载。在idl文件的方法签名前加上const即可:
member = interface +c {
const get_id(): string;
const get_name(): string;
}
我认为为这个功能(和一些文档)拉取请求测试是个好主意,currently only const fields are tested。