bytedeco/javacpp

Creating instances of C++ templates with parameter packs

Open

#773 opened on Jul 21, 2024

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Java (620 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (4,279 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

I tried to make a struct with a parameter pack template type as such:

template<typename... Args>
struct Foo
{
    virtual void bar(Args... args) {}
};

and I made a function that takes a specialization of this struct:

void fooFunc(Foo<int, double> b) {...}

I put it in an InfoMapper:

infoMap.put(new Info("Foo<int,double>").pointerTypes("TestType").virtualize());

and it did generate a function that takes the correct type

public native void pPackTest(@ByVal TestType b);

But failed to generate the actual .java file (TestType.java) Is there something I can do about this, or is this just a limitation of the parser?

Contributor guide