A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/bytedeco/javacpp/issues/362 below:

Support for virtual operators · Issue #362 · bytedeco/javacpp · GitHub

I am trying to write a faiss index to a java output stream. The write_index method accept an IOWriter struct, and write data using its () operator. The generated code contains a super_operator () method that fails to compile. Some kind of name escaping seems required for it to work.

void write_index (const Index *idx, IOWriter *writer);
struct IOWriter {
    // name that can be used in error messages
    std::string name;

    // fwrite
    virtual size_t operator()(
         const void *ptr, size_t size, size_t nitems) = 0;

    // return a file number that can be memory-mapped
    virtual int fileno ();

    virtual ~IOWriter() {}
};
@Namespace("faiss")
@NoOffset
@Properties(@Platform(
        link = { "faiss", "gomp" },
        preload = "faiss",
        include = { "faiss/impl/io.h" }))
public class IOWriter extends Pointer {
    static { Loader.load(); }

    public IOWriter() { allocate(); }

    private native void allocate();

    @Cast("size_t")
    @Name("operator ()")
    @Virtual(true)
    public native long apply(@Const Pointer ptr, @Cast("size_t") long size, @Cast("size_t") long nitems);
}
class JavaCPP_hidden JavaCPP_faiss_0003a_0003aIOWriter : public faiss::IOWriter {
public:
    jobject obj;
    static jmethodID apply__Lorg_bytedeco_javacpp_Pointer_2JJ;

    using faiss::IOWriter::operator ();
    virtual size_t operator ()(const void* arg0, size_t arg1, size_t arg2);
    size_t super_operator ()(const void* arg0, size_t arg1, size_t arg2) { throw JavaCPP_exception("Cannot call pure virtual function faiss::IOWriter::operator ()()."); }
    JavaCPP_faiss_0003a_0003aIOWriter() : faiss::IOWriter(), obj(NULL) { }
};

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4