From 02e97c0f79fc475f0c7e3faef586e5ee73bb9768 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 6 May 2011 09:00:46 +0000 Subject: [PATCH] Fixed build problem --- include/osgDB/Serializer | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/include/osgDB/Serializer b/include/osgDB/Serializer index be42ad6a4..3fee0d25a 100644 --- a/include/osgDB/Serializer +++ b/include/osgDB/Serializer @@ -204,7 +204,7 @@ public: virtual bool read( InputStream& is, osg::Object& obj ) = 0; virtual bool write( OutputStream& os, const osg::Object& obj ) = 0; virtual const std::string& getName() const { return _name; } - + protected: std::string _name; P _defaultValue; @@ -686,19 +686,21 @@ protected: IntLookup _lookup; }; + template -class ListSerializer : public TemplateSerializer

+class ListSerializer : public BaseSerializer { public: - typedef TemplateSerializer

ParentType; typedef typename P::value_type ValueType; typedef typename P::const_iterator ConstIterator; typedef const P& (C::*Getter)() const; typedef void (C::*Setter)( const P& ); ListSerializer( const char* name, Getter gf, Setter sf ) - : ParentType(name), _getter(gf), _setter(sf) {} + : _name(name), _getter(gf), _setter(sf) {} + virtual const std::string& getName() const { return _name; } + virtual bool read( InputStream& is, osg::Object& obj ) { C& object = OBJECT_CAST(obj); @@ -715,7 +717,7 @@ public: } if ( size>0 ) (object.*_setter)( list ); } - else if ( is.matchString(ParentType::_name) ) + else if ( is.matchString(_name) ) { is >> size; if ( size>0 ) is >> BEGIN_BRACKET; @@ -750,7 +752,7 @@ public: } else if ( size>0 ) { - os << PROPERTY((ParentType::_name).c_str()) << size << BEGIN_BRACKET << std::endl; + os << PROPERTY((_name).c_str()) << size << BEGIN_BRACKET << std::endl; for ( ConstIterator itr=list.begin(); itr!=list.end(); ++itr ) { @@ -763,6 +765,7 @@ public: } public: + std::string _name; Getter _getter; Setter _setter; };