[libavg-devel] Dynamic Node Creation Enhancements

Nick Hebner hebnern at gmail.com
Sat Feb 16 08:33:24 CET 2008


On Fri, Feb 15, 2008 at 3:50 AM, Ulrich von Zadow <uzadow at libavg.de> wrote:

> Ulrich von Zadow wrote:
> > Nick Hebner wrote:
> >> On Wed, Feb 13, 2008 at 1:27 PM, Ulrich von Zadow <uzadow at libavg.de>
> wrote:
> >>
> >>> Hi,
> >>>
> >>> I need a bit of time to look this over, because I still think it
> should
> >>> work. Member variables of base classes never move in derived classes
> >>> (even with multiple inheritance), as long as you always use a pointer
> to
> >>> the base class. For simple single inheritance, the pointer to an
> object
> >>> shouldn't change either in a cast from base to derived class and back.
> >>> offsetof(), while technicaly undefined, _should_ work for these
> objects
> >>> in all sane implementations of C++ (For discussions of this, see
> >>> http://gcc.gnu.org/ml/gcc/2003-11/msg00279.html and
> >>> http://carcino.gen.nz/tech/cpp/multiple_inheritance_this.php).
> >> Hmm, ok you clearly know much more about it than I do, so I'll leave it
> to
> >> you.
> >
> > Not that much more - I just used google ;-). The second link explains
> > object layout in memory very well.
> >
> >>> It might take a moment for me to get around to it, though, so getting
> >>> the first patch into svn would be great.
> >> Great. Would you like me to submit another patch to the list, or just
> commit
> >> it?
> >
> > Just commit it :-).
>
> Um - I see you've done that, and now I get:
>
> [...]
>  g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I.. -I/usr/include/libxml2
> -I/Users/uzadow/libavg/include/freetype2 -I/Users/uzadow/libavg/include
> -I/Users/uzadow/libavg/include/pango-1.0 -I/Users/uzadow/libavg/include
> -I/Users/uzadow/libavg/include/freetype2
> -I/Users/uzadow/libavg/include/glib-2.0
> -I/Users/uzadow/libavg/lib/glib-2.0/include
>
> -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5
> -I/Users/uzadow/libavg/include -I/Users/uzadow/libavg/include/ffmpeg
> -I/Users/uzadow/libavg/include
> -I/Users/uzadow/libavg/include/GraphicsMagick
> -I/Users/uzadow/libavg/include -O3 -g -Wall -pipe -MT CameraNode.lo -MD
> -MP -MF .deps/CameraNode.Tpo -c CameraNode.cpp  -fno-common -DPIC -o
> .libs/CameraNode.o
> Words.cpp: In static member function 'static avg::NodeDefinition
> avg::Words::getNodeDefinition()':
> Words.cpp:89: error: 'class avg::ChildMap' has no member named 'at'
> Words.cpp:105: error: 'class avg::ChildMap' has no member named 'at'
> [...]


Uh oh...

>
>
> This is Mac OS X Leopard, gcc 4.0.1. As far as I can see by quickly
> searching the web, std::map::at() is not part of the standard, so you
> should probably use std::map::find()->second. On which plattform does
> this compile?


This works on Ubuntu 7.10. I can fix this on Sunday unless someone can get
to it first. Sorry for the inconvenience.

>
>
> Cheers,
>
>   Uli
>
> --
>
> Ulrich von Zadow | +49-172-7872715
> Jabber: cocacoder at jabber.berlin.ccc.de
> Skype: uzadow
>
> _______________________________________________
> libavg-devel mailing list
> libavg-devel at datenhain.de
> https://mail.datenhain.de/mailman/listinfo/libavg-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.datenhain.de/pipermail/libavg-devel/attachments/20080215/2cc237b3/attachment.htm 


More information about the libavg-devel mailing list