Hi Patric,

could you please try the attached patch, it removes one call to
std::make_pair and should avoid the problematic type deduction.

Another (ugly) alternative would be to write the problematic lines as:

_userParameterCallbacks.insert(
    std::make_pair<std::string,
                   std::pair<parametercbfp,
                            osgparametercbfp>(name, std::make_pair(fp,
nullfp))););

        Thanks,
                Carsten


On Tue, 2007-08-21 at 14:03 +0200, Patric Schmitz wrote:
> Heya,
> 
> i hope i don't begin to annoy you, but there seems to be only one last 
> error left (in addition to the ones mentioned in my last emails).
> It's in OSGSHLChunk.cpp:
> 
> ".../OSGSHLChunk.cpp", line 1216: Error: Could not find a match for 
> std::map<std::string, std::pair<void(*)(int(*)(unsigned,const 
> char*),osg::DrawActionBase*,unsigned), void(*)(const 
> osg::FCPtr<osg::AttachmentContainerPtr, 
> osg::ShaderParameter>&,osg::DrawActionBase*,unsigned)>, 
> std::less<std::string>, std::allocator<std::pair<const std::string, 
> std::pair<void(*)(int(*)(unsigned,const 
> char*),osg::DrawActionBase*,unsigned), void(*)(const 
> osg::FCPtr<osg::AttachmentContainerPtr, 
> osg::ShaderParameter>&,osg::DrawActionBase*,unsigned)>>>>::insert(std::pair<const
>  
> char*, std::pair<void(*)(int(*)(unsigned,const 
> char*),osg::DrawActionBase*,unsigned), void(*)(const 
> osg::FCPtr<osg::AttachmentContainerPtr, 
> osg::ShaderParameter>&,osg::DrawActionBase*,unsigned)>>) needed in 
> osg::SHLChunk::addParameterCallback(const char*, 
> void(*)(int(*)(unsigned,const char*),osg::DrawActionBase*,unsigned)).
> ".../OSGSHLChunk.cpp", line 1230: Error: Could not find a match for 
> std::map<std::string, std::pair<void(*)(int(*)(unsigned,const 
> char*),osg::DrawActionBase*,unsigned), void(*)(const 
> osg::FCPtr<osg::AttachmentContainerPtr, 
> osg::ShaderParameter>&,osg::DrawActionBase*,unsigned)>, 
> std::less<std::string>, std::allocator<std::pair<const std::string, 
> std::pair<void(*)(int(*)(unsigned,const 
> char*),osg::DrawActionBase*,unsigned), void(*)(const 
> osg::FCPtr<osg::AttachmentContainerPtr, 
> osg::ShaderParameter>&,osg::DrawActionBase*,unsigned)>>>>::insert(std::pair<const
>  
> char*, std::pair<void(*)(int(*)(unsigned,const 
> char*),osg::DrawActionBase*,unsigned), void(*)(const 
> osg::FCPtr<osg::AttachmentContainerPtr, 
> osg::ShaderParameter>&,osg::DrawActionBase*,unsigned)>>) needed in 
> osg::SHLChunk::addParameterCallback(const char*, void(*)(const 
> osg::FCPtr<osg::AttachmentContainerPtr, 
> osg::ShaderParameter>&,osg::DrawActionBase*,unsigned)).
> 
> these two are really the last errors, all other files (in SystemLib) 
> compile cleanly by now. If we get those resolved, we can consider OpenSG 
> 1.8 to be supported under the (or at least one..) Solaris platform.
> 
> I hope you have an instant idea, this template magic is too unknown to 
> me to really understand what is happening there.
> 
> thanks in advance,
>    Patric
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >>  http://get.splunk.com/
> _______________________________________________ Opensg-users mailing list 
> [email protected] 
> https://lists.sourceforge.net/lists/listinfo/opensg-users
Index: Source/Experimental/SHL/OSGSHLChunk.cpp
===================================================================
RCS file: /cvsroot/opensg/OpenSG/Source/Experimental/SHL/OSGSHLChunk.cpp,v
retrieving revision 1.59
diff -r1.59 OSGSHLChunk.cpp
1185c1185
<                 userParameterCallbacksMap::iterator it =
---
>                 UserParameterCallbacksMap::iterator it =
1216c1216
<         std::make_pair(name, std::make_pair(fp, nullfp)));
---
>         UserParameterCallbacksMap::value_type(name, std::make_pair(fp, nullfp)));
1230c1230
<         std::make_pair(name, std::make_pair(nullfp, fp)));
---
>         UserParameterCallbacksMap::value_type(name, std::make_pair(nullfp, fp)));
Index: Source/Experimental/SHL/OSGSHLChunk.h
===================================================================
RCS file: /cvsroot/opensg/OpenSG/Source/Experimental/SHL/OSGSHLChunk.h,v
retrieving revision 1.33
diff -r1.33 OSGSHLChunk.h
336,340c336,339
<     std::vector<std::pair<std::pair<parametercbfp, osgparametercbfp>,
<         ShaderParameterPtr> > _osgParametersCallbacks;
< 
<     UInt32 _oldParameterSize;
< 
---
>     typedef std::vector<
>         std::pair<std::pair<parametercbfp,
>                             osgparametercbfp>,
>                   ShaderParameterPtr          > > OSGParametersCallbacks;
342,345c341,347
<         userParameterCallbacksMap;
<     userParameterCallbacksMap _userParameterCallbacks;
< 
<     static parametercbfp       _userParametersCallback;
---
>         UserParameterCallbacksMap;
>                           
>     OSGParametersCallbacks     _osgParametersCallbacks;
>     UInt32                     _oldParameterSize;
>     
>     UserParameterCallbacksMap _userParameterCallbacks;
>     static parametercbfp      _userParametersCallback;
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to