
David Abrahams wrote:
You shouldn't need the != and == overloads at all since you have an implicit converting constructor. So I think there's something wrong with your compiler or there's some deeper subtlety here. Is map.end() returning the map's const_iterator? You don't have a conversion for that one.
It's bizarre: typedef Prism prism_type; typedef typename std::map<face_type const*, prism_type> prism_map; typedef typename prism_map::iterator base_prism_iterator; typedef map_data_iterator<base_prism_iterator> prism_iterator; bool debug_verify( prism_map & prisms ) { for ( prism_iterator prism = prisms.begin(); prism!=prisms.end(); ++prism) } Once again, thanks alot, --nico d:\dev\OpenTissue\OpenTissue\t4mesh\util\thin_shell\policies\depth_first_tesselator.h(316) : error C2678: binary '!=' : no operator found which takes a left-hand operand of type 'OpenTissue::DepthFirstTesselator<Types>::prism_iterator' (or there is no acceptable conversion) with [ Types=OpenTissue::ThinShellTypeBinder<vector3_type,core_mesh_type,surface_mesh_type,OpenTissue::AngleWeightedNormals,OpenTissue::MaximumGlobalExtrusion,OpenTissue::DepthFirstTesselator>::Types ] d:\dev\OpenTissue\OpenTissue\t4mesh\util\thin_shell\policies\depth_first_tesselator.h(315) : while compiling class-template member function 'bool OpenTissue::DepthFirstTesselator<Types>::debug_verify(OpenTissue::DepthFirstTesselator<Types>::prism_map &)' with [ Types=OpenTissue::ThinShellTypeBinder<vector3_type,core_mesh_type,surface_mesh_type,OpenTissue::AngleWeightedNormals,OpenTissue::MaximumGlobalExtrusion,OpenTissue::DepthFirstTesselator>::Types ] d:\dev\OpenTissue\OpenTissue\t4mesh\util\thin_shell\thin_shell.h(53) : see reference to class template instantiation 'OpenTissue::DepthFirstTesselator<Types>' being compiled with [ Types=OpenTissue::ThinShellTypeBinder<vector3_type,core_mesh_type,surface_mesh_type,OpenTissue::AngleWeightedNormals,OpenTissue::MaximumGlobalExtrusion,OpenTissue::DepthFirstTesselator>::Types ] D:\dev\Hybrid\Hybrid\utility\model_make_thinshell.h(43) : see reference to class template instantiation 'OpenTissue::ThinShell<Types>' being compiled with [ Types=thin_shell_types ] src\application.cpp(314) : see reference to function template instantiation 'void Hybrid::model_make_thinshell<T,Application::model_type>(mesh_type &,model_type &)' being compiled -- nico galoppo von borries @ address: 105 creel st., chapel hill comp. graphics phd. student @ north carolina, 27516 USA UNC, chapel hill @ phone: +1 (919) 962-1898 (office) @ +1 (919) 942-7609 (home) @ email: nico at cs dot unc dot edu @ homepage: http://www.cs.unc.edu/~nico --- debian linux :: vim powered