/// "minimal" example using dynamic_properties after including dynamic_bitset, does not compile #include #include #include /// including dynamic_bitset.hpp breaks operator>>, we get the following error: /// /// $ g++ -W -Wall -I/opt/local/include yyy.cpp /// /opt/local/include/boost/lexical_cast.hpp: In member function 'bool boost::detail::lexical_stream_limited_src::operator>>(InputStreamable&) [with InputStreamable = boost::shared_ptr, CharT = char, Base = std::basic_streambuf >, Traits = std::char_traits]': /// /opt/local/include/boost/lexical_cast.hpp:1151: instantiated from 'Target boost::detail::lexical_cast(typename boost::call_traits::param_type, CharT*, size_t) [with Target = boost::shared_ptr, Source = std::basic_string, std::allocator >, bool Unlimited = false, CharT = char]' /// /opt/local/include/boost/lexical_cast.hpp:1174: instantiated from 'Target boost::lexical_cast(const Source&) [with Target = boost::shared_ptr, Source = std::basic_string, std::allocator >]' /// /opt/local/include/boost/property_map/dynamic_property_map.hpp:44: instantiated from 'Value boost::detail::read_value(const std::string&) [with Value = boost::shared_ptr]' /// /opt/local/include/boost/property_map/dynamic_property_map.hpp:162: instantiated from 'void boost::detail::dynamic_property_map_adaptor::do_put(const boost::any&, const boost::any&, mpl_::bool_) [with PropertyMap = boost::ref_property_map >]' /// /opt/local/include/boost/property_map/dynamic_property_map.hpp:205: instantiated from 'void boost::detail::dynamic_property_map_adaptor::put(const boost::any&, const boost::any&) [with PropertyMap = boost::ref_property_map >]' /// yyy.cpp:50: instantiated from here /// /opt/local/include/boost/lexical_cast.hpp:785: error: no match for 'operator>>' in 'stream >> output' /// /usr/include/c++/4.2.1/istream:131: note: candidates are: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>& (*)(std::basic_istream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:135: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:142: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:178: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:182: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:185: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:189: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:192: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:196: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:200: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:205: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:209: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:214: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:218: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:222: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:226: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char, _Traits = std::char_traits] /// /usr/include/c++/4.2.1/istream:250: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits] #include typedef boost::shared_ptr my_t; inline std::istream& operator>> (std::istream& is, my_t&) { return is; } typedef boost::property< boost::graph_name_t, my_t > graph_p; typedef boost::adjacency_list < boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, graph_p > graph_t; typedef boost::ref_property_map gname_p; int main() { graph_t g(0); boost::dynamic_properties dp; gname_p gname(boost::get_property(g, boost::graph_name)); dp.property("name", gname); } // Local Variables: // mode: C++ // End: