Opened 13 years ago

Closed 13 years ago

#2999 closed Bugs (invalid)

no matching function for call to container_category

Reported by: kostmo@… Owned by: Jeremiah Willcock
Milestone: To Be Determined Component: graph
Version: Boost Release Branch Severity: Problem
Keywords: Cc:

Description

I attempted to compile this game (http://www.xs4all.nl/~weegen/Minesweeper3D/#downloads) with Boost 1.39.0, but am stopped by this error:

/usr/include/boost/pending/container_traits.hpp:414: error: no matching function for call to ‘container_category(FixedVector<boost::detail::sei_<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::no_property> >, boost::no_property>, 32u>&)’

This is the final line of a long error chain that is quite incomprehensible to me, but I will paste it here in hopes that it is helpful for debugging:

/usr/include/boost/pending/container_traits.hpp: In function ‘std::pair<typename C::iterator, bool> boost::graph_detail::push(Container&, const T&) [with Container = FixedVector<boost::detail::sei_<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::no_property> >, boost::no_property>, 32u>, T = boost::add_edge(typename Config::vertex_descriptor, typename Config::vertex_descriptor, const typename Config::edge_property_type&, boost::undirected_graph_helper<C>&) [with Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config]::StoredEdge]’: /usr/include/boost/graph/detail/adjacency_list.hpp:1022: instantiated from ‘std::pair<typename Config::edge_descriptor, bool> boost::add_edge(typename Config::vertex_descriptor, typename Config::vertex_descriptor, const typename Config::edge_property_type&, boost::undirected_graph_helper<C>&) [with Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config]’ /usr/include/boost/graph/detail/adjacency_list.hpp:2224: instantiated from ‘std::pair<typename Config::edge_descriptor, bool> boost::add_edge(typename Config::vertex_descriptor, typename Config::vertex_descriptor, const typename Config::edge_property_type&, boost::vec_adj_list_impl<G, C, B>&) [with Graph = boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config, Base = boost::undirected_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config>]’ /usr/include/boost/graph/detail/adjacency_list.hpp:2233: instantiated from ‘std::pair<typename Config::edge_descriptor, bool> boost::add_edge(typename Config::vertex_descriptor, typename Config::vertex_descriptor, boost::vec_adj_list_impl<G, C, B>&) [with Graph = boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config, Base = boost::undirected_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config>]’ /usr/include/boost/graph/detail/adjacency_list.hpp:2161: instantiated from ‘void boost::vec_adj_list_impl<Graph, Config, Base>::copy_impl(const boost::vec_adj_list_impl<Graph, Config, Base>&) [with Graph = boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config, Base = boost::undirected_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config>]’ /usr/include/boost/graph/detail/adjacency_list.hpp:2096: instantiated from ‘boost::vec_adj_list_impl<Graph, Config, Base>::vec_adj_list_impl(const boost::vec_adj_list_impl<Graph, Config, Base>&) [with Graph = boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config, Base = boost::undirected_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::fixed_vecS<32u>, boost::vecS, boost::undirectedS, M3D::FieldProperties, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::fixed_vecS<32u>, boost::undirectedS, boost::property<boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property>, boost::no_property, boost::no_property, boost::listS>::config>]’ /usr/include/boost/graph/adjacency_list.hpp:407: instantiated from ‘boost::adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::adjacency_list(const boost::adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>&) [with OutEdgeListS = boost::fixed_vecS<32u>, VertexListS = boost::vecS, DirectedS = boost::undirectedS, VertexProperty = M3D::FieldProperties, EdgeProperty = boost::no_property, GraphProperty = boost::no_property, EdgeListS = boost::listS]’ src/BareModel.hpp:14: instantiated from here /usr/include/boost/pending/container_traits.hpp:414: error: no matching function for call to ‘container_category(FixedVector<boost::detail::sei_<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::no_property> >, boost::no_property>, 32u>&)’ scons: * [src/Application.o] Error 1 scons: building terminated because of errors.

Change History (3)

comment:1 by Steven Watanabe, 13 years ago

Component: Nonegraph
Owner: set to Douglas Gregor

comment:2 by Jeremiah Willcock, 13 years ago

Owner: changed from Douglas Gregor to Jeremiah Willcock
Status: newassigned

comment:3 by Jeremiah Willcock, 13 years ago

Resolution: invalid
Status: assignedclosed

This issue appears to be with that particular application. The selector fixed_vecS is not part of the standard BGL, and is custom to the application. It appears that Minesweeper3D did not implement the functions in the section "Push and Erase for the Custom Container" of http://www.boost.org/doc/libs/1_39_0/libs/graph/doc/using_adjacency_list.html . See if implementing these two functions for FixedVector solves the problem.

Note: See TracTickets for help on using tickets.