| 1 | /// "minimal" example using dynamic_properties after including dynamic_bitset, does not compile
|
|---|
| 2 |
|
|---|
| 3 | #include <boost/shared_ptr.hpp>
|
|---|
| 4 | #include <boost/graph/adjacency_list.hpp>
|
|---|
| 5 | #include <boost/graph/graphviz.hpp>
|
|---|
| 6 |
|
|---|
| 7 | /// including dynamic_bitset.hpp breaks operator>>, we get the following error:
|
|---|
| 8 | ///
|
|---|
| 9 | /// $ g++ -W -Wall -I/opt/local/include yyy.cpp
|
|---|
| 10 | /// /opt/local/include/boost/lexical_cast.hpp: In member function 'bool boost::detail::lexical_stream_limited_src<CharT, Base, Traits>::operator>>(InputStreamable&) [with InputStreamable = boost::shared_ptr<int>, CharT = char, Base = std::basic_streambuf<char, std::char_traits<char> >, Traits = std::char_traits<char>]':
|
|---|
| 11 | /// /opt/local/include/boost/lexical_cast.hpp:1151: instantiated from 'Target boost::detail::lexical_cast(typename boost::call_traits<T2>::param_type, CharT*, size_t) [with Target = boost::shared_ptr<int>, Source = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool Unlimited = false, CharT = char]'
|
|---|
| 12 | /// /opt/local/include/boost/lexical_cast.hpp:1174: instantiated from 'Target boost::lexical_cast(const Source&) [with Target = boost::shared_ptr<int>, Source = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]'
|
|---|
| 13 | /// /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<int>]'
|
|---|
| 14 | /// /opt/local/include/boost/property_map/dynamic_property_map.hpp:162: instantiated from 'void boost::detail::dynamic_property_map_adaptor<PropertyMap>::do_put(const boost::any&, const boost::any&, mpl_::bool_<true>) [with PropertyMap = boost::ref_property_map<graph_t*, boost::shared_ptr<int> >]'
|
|---|
| 15 | /// /opt/local/include/boost/property_map/dynamic_property_map.hpp:205: instantiated from 'void boost::detail::dynamic_property_map_adaptor<PropertyMap>::put(const boost::any&, const boost::any&) [with PropertyMap = boost::ref_property_map<graph_t*, boost::shared_ptr<int> >]'
|
|---|
| 16 | /// yyy.cpp:50: instantiated from here
|
|---|
| 17 | /// /opt/local/include/boost/lexical_cast.hpp:785: error: no match for 'operator>>' in 'stream >> output'
|
|---|
| 18 | /// /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<char>]
|
|---|
| 19 | /// /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<char>]
|
|---|
| 20 | /// /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<char>]
|
|---|
| 21 | /// /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<char>]
|
|---|
| 22 | /// /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<char>]
|
|---|
| 23 | /// /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<char>]
|
|---|
| 24 | /// /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<char>]
|
|---|
| 25 | /// /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<char>]
|
|---|
| 26 | /// /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<char>]
|
|---|
| 27 | /// /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<char>]
|
|---|
| 28 | /// /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<char>]
|
|---|
| 29 | /// /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<char>]
|
|---|
| 30 | /// /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<char>]
|
|---|
| 31 | /// /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<char>]
|
|---|
| 32 | /// /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<char>]
|
|---|
| 33 | /// /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<char>]
|
|---|
| 34 | /// /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<char>]
|
|---|
| 35 | #include <boost/dynamic_bitset.hpp>
|
|---|
| 36 |
|
|---|
| 37 | typedef boost::shared_ptr<int> my_t;
|
|---|
| 38 |
|
|---|
| 39 | inline std::istream& operator>> (std::istream& is, my_t&) { return is; }
|
|---|
| 40 |
|
|---|
| 41 | typedef boost::property< boost::graph_name_t, my_t > graph_p;
|
|---|
| 42 | typedef boost::adjacency_list < boost::vecS, boost::vecS, boost::directedS,
|
|---|
| 43 | boost::no_property, boost::no_property, graph_p > graph_t;
|
|---|
| 44 |
|
|---|
| 45 | typedef boost::ref_property_map<graph_t*, my_t> gname_p;
|
|---|
| 46 |
|
|---|
| 47 | int main()
|
|---|
| 48 | {
|
|---|
| 49 | graph_t g(0);
|
|---|
| 50 | boost::dynamic_properties dp;
|
|---|
| 51 | gname_p gname(boost::get_property(g, boost::graph_name));
|
|---|
| 52 | dp.property("name", gname);
|
|---|
| 53 | }
|
|---|
| 54 |
|
|---|
| 55 | // Local Variables:
|
|---|
| 56 | // mode: C++
|
|---|
| 57 | // End:
|
|---|