[Ipopt] Raw pointer from the IPOPT::SmartPtr

Stefan Vigerske stefan at math.hu-berlin.de
Fri Mar 8 10:51:14 EST 2013


GetRawPtr() converts a smart pointer into a usual pointer.
To get back to your derived class, you can use a dynamic_cast, e.g.,

SmartPtr<TNLP> tnlp;
DerivedClass* derivobj = dynamic_cast<DerivedClass*>(GetSmartPtr(tnlp));
assert(derivobj != NULL);


On 03/08/2013 04:20 PM, Alex Tătulea wrote:
> Hello verybody,
> I hope you could help me with a hint for the following problem. I have
> extended the TNLP class with a public member (a structure) which I use to
> store additional data for my problem. And obviously I have a SmartPtr<TNLP>
> which I use to call the solver. My problem is that I would somehow like to
> acces the public member of the derived class, and that is not possible with
> this smart pointer.
> How could I get a pointer of the derived class type, which points to the
> same underlying object, and with which I could modify data for my problem?
> Thanks in advance for any tipps or ideas. Have a nice weekend!!
> Alex
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt

More information about the Ipopt mailing list