On Thu, Oct 2, 2008 at 3:18 PM, Bob Kuehne <[EMAIL PROTECTED]> wrote:

> neil, can you post your test code too? thanks, bob
>


It would be a pleasure. You will see that it's only a simple test, and that
I have also tested that compilation fails where appropriate too.

Regards,
Neil Groves




>
> On Thu, Oct 2, 2008 at 10:06 AM, Neil Groves <[EMAIL PROTECTED]>
> wrote:
> > Comments inline...
> >
> > On Thu, Oct 2, 2008 at 2:57 PM, Judd Tracy <[EMAIL PROTECTED]> wrote:
> >>
> >> Is it sufficient to say that because it compiles it works on that
> >> platform.  If the new function is not used anywhere in the code then the
> >> compiler will not try and build that function of the template.  I have
> no
> >> idea if anything would be triggering that function to be used in osg, so
> I
> >> wonder if more testing needs to be done.
> >
> > I have tested the new functionality on various MSVC compilers and GCC
> 4.3.
> > The focus on the clean compilation of the original code on other
> compilers
> > is that we were all mostly concerned about the incorrect implementation
> of
> > member template friends.
> >
> > It has been tested to convert when and only when it is safe to do so.
> > Further testing is welcomed.
> >
> > Regards,
> > Neil Groves
> >
> >>
> >> Judd
> >>
> >> Mathias Fröhlich wrote:
> >>>
> >>> Hi,
> >>>
> >>> On Thursday 02 October 2008 12:08, Neil Groves wrote:
> >>>
> >>>>
> >>>> If there is any problem on any compiler. I am sure I can make it work
> >>>> without member template friends. I seriously want to see this addition
> >>>> and
> >>>> am prepared to do (almost) anything to make it work and be a desirable
> >>>> addition for all.
> >>>>
> >>>
> >>> It  works even on our aliens :)
> >>> Thanks anyway ...
> >>> Mathias
> >>>
> >>> --
> >>> Dr. Mathias Fröhlich, science + computing ag, Software Solutions
> >>> Hagellocher Weg 71-75, D-72070 Tuebingen, Germany
> >>> Phone: +49 7071 9457-268, Fax: +49 7071 9457-511
> >>> --
> >>> Vorstand/Board of Management:
> >>> Dr. Bernd Finkbeiner, Dr. Florian Geyer,
> >>> Dr. Roland Niemeier, Dr. Arno Steitz, Dr. Ingrid Zech
> >>> Vorsitzender des Aufsichtsrats/
> >>> Chairman of the Supervisory Board:
> >>> Prof. Dr. Hanns Ruder
> >>> Sitz/Registered Office: Tuebingen
> >>> Registergericht/Registration Court: Stuttgart
> >>> Registernummer/Commercial Register No.: HRB 382196
> >>>
> >>>
> >>> _______________________________________________
> >>> osg-submissions mailing list
> >>> [email protected]
> >>>
> >>>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
> >>>
> >>
> >> _______________________________________________
> >> osg-submissions mailing list
> >> [email protected]
> >>
> >>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
> >
> >
> > _______________________________________________
> > osg-submissions mailing list
> > [email protected]
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
> >
> >
>
>
>
> --
> bob kuehne
> founder and ceo - blue newt software
> www.blue-newt.com    734/834-2696
> _______________________________________________
> osg-submissions mailing list
> [email protected]
>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
#include <cassert>
#include <iostream>
#include <osg/Node>
#include <osg/Geode>

void shouldCompile1()
{
    osg::ref_ptr<osg::Geode> geode(new osg::Geode);
    osg::ref_ptr<osg::Node> node(geode);
    assert( node.get() == geode.get() );
    node = osg::ref_ptr<osg::Node>();
    assert( !node );
    node = geode;
    assert( node.get() == geode.get() );
}

void shouldCompile2()
{
    osg::ref_ptr<osg::Group> group(new osg::Group);
    osg::ref_ptr<osg::Node> node(group);
    assert( node.get() == group.get() );
    node = osg::ref_ptr<osg::Node>();
    assert( !node );
    node = group;
    assert( node.get() == group.get() );
}

#if 0
void shouldNotCompile1()
{
    osg::ref_ptr<osg::Node> node(new osg::Node);

    osg::ref_ptr<osg::Geode> geode(node);
}
#endif

#if 0
void shouldNotCompile2()
{
    osg::ref_ptr<osg::Node> node(new osg::Node);

    osg::ref_ptr<osg::Geode> geode;

    geode = node;
}
#endif

int main(int argc, const char** argv)
{
    shouldCompile1();
    shouldCompile2();
    return 0;
}
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to