Re: [eigen] Forward declarations

[ Thread Index | Date Index | More Archives ]

Hi Gael,

On Tue, Jul 19, 2011 at 3:21 AM, Gael Guennebaud
<gael.guennebaud@xxxxxxxxx> wrote:
> Hi,
> that's not so easy because I see that OpenQube headers typically
> contains functions returning Eigen::Vector3d objects by value or
> classes having Eigen's objects as members. That means the compiler has
> to know what is, e.g., a Eigen::Vector3d so I'm afraid simple forward
> declarations won't help.

The OpenQube library is still fairly new, and I may be able to rewrite
the API to work around those issues -- at this point, I'm just trying
to gather information to figure out how to best handle this. My
options right now are (a) Forward declare Eigen classes (and rewrite
OpenQube API appropriately), (b) Remove Eigen from OpenQube's API
altogether, or (c) Make Eigen an optional dependency of VTK.

(b) would lose some flexibility and be a decent bit of work, and (c)
may be difficult, while (a), if possible, would be the best solution
that I can see.

Is it possible to forward declare the Eigen::Matrix class? This would
be useful for a few other projects I'm working on as well ;-)

> Gael
> On Mon, Jul 18, 2011 at 4:09 PM, David Lonie <loniedavid@xxxxxxxxx> wrote:
>> Hi List,
>> I'm currently integrating a library that uses Eigen vectors/matrices
>> in its API into VTK, and I have a quick question: Is it possible to
>> forward-declare Eigen::Matrix? The library (OpenQube
>> currently includes Eigen/Core in
>> it's headers, but I'd like to replace these includes with forward
>> declarations so that I wouldn't have to add Eigen as a dependency for
>> VTK.
>> I've tried doing this myself, but it looks like the last three
>> template arguments are dependent on compiler options. Is there a trick
>> to forward declaring this class?
>> Thanks,
>> Dave

Mail converted by MHonArc 2.6.19+