attempting sandbox svg_plot templates

Hi, Thought svg_plot (https://svn.boost.org/svn/boost/sandbox/SOC/2007/visualization/) is an interesting approach. Trying to stand it up and test it's implementation status. Using gcc 4.7 on Windows 7, Ubuntu 12.04 and CentOS 5. all 64 bit. Run into many template and friend issues. Anybody getting this lib to work? Much coming from https://svn.boost.org/svn/boost/sandbox/SOC/2007/visualization/boost/svg_plo.... First two: .............. In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:32:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:241:11: required from here ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:97:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const boost::svg::unc<false>&)’ does not match any template declaration ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:102:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const std::pair<boost::svg::unc<false>, boost::svg::unc<false> >&)’ does not match any template declaration .............. for the code: .............. friend std::ostream& operator<< <> (std::ostream& os, const unc<correlated>& u); /*! Output a pair of (X and Y) values with (if defined) uncertainty and degrees of freedom. \details For example: "1.23 +/- 0.01 (13), 3.45 +/- 0.06 (78)". */ friend std::ostream& operator<< <> (std::ostream& os, const std::pair<unc, unc>& u); ............... Seems to be where std::ostream is being extended or derived from. But I'm not discerning the template error or good at interpreting them. How to learn? Been looking for examples and where the gcc version makes a difference but get too many hits with google. Headers in unit test leading up to the svg_plot headers are: ------------------------ #include <cmath> #include <map> #include <stdio.h> #include <stdlib.h> #include <vector> #include <iostream> #include <ostream> #include "CUnit/Basic.h" #include "boost/array.hpp" #include "boost/svg_plot/svg.hpp" #include "boost/svg_plot/svg_2d_plot.hpp" #include "boost/svg_plot/show_2d_settings.hpp" .............................. -------------- All the errors and warnings: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp: In instantiation of ‘class boost::svg::unc<false>’: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:32:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:241:11: required from here ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:97:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const boost::svg::unc<false>&)’ does not match any template declaration ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:102:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const std::pair<boost::svg::unc<false>, boost::svg::unc<false> >&)’ does not match any template declaration ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp: In instantiation of ‘class boost::svg::unc<true>’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:293:28: required from here ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:97:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const boost::svg::unc<true>&)’ does not match any template declaration ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:102:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const std::pair<boost::svg::unc<true>, boost::svg::unc<true> >&)’ does not match any template declaration In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:36:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:87:57: error: ‘result_type’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:87:57: note: suggested alternative: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/functional/hash/detail/hash_float.hpp:16:0, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/functional/hash/hash.hpp:15, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/functional/hash.hpp:6, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/unordered/unordered_map.hpp:21, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/unordered_map.hpp:16, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/ptr_container/ptr_unordered_map.hpp:19, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/ptr_container/ptr_container.hpp:25, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/svg_tag.hpp:22, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg.hpp:184, from tests/plotting_tests.cpp:20: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/integer/static_log2.hpp:45:45: note: ‘boost::detail::static_log2_impl::result_type’ In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:36:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:87:57: error: template argument 1 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:87:40: error: template argument 2 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:87:18: warning: ‘typedef’ was ignored in this declaration [enabled by default] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp: In member function ‘std::pair<boost::svg::unc<correlated>, boost::svg::unc<correlated> > boost::svg::detail::pair_unc_2d_convert<correlated>::operator()(T)’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:105:26: error: ‘un’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:105:39: error: wrong number of template arguments (1, should be 2) In file included from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_algobase.h:65:0, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_tree.h:63, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/map:60, from tests/plotting_tests.cpp:10: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_pair.h:88:12: error: provided for ‘template<class _T1, class _T2> struct std::pair’ In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:36:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:105:40: error: expected ‘;’ before ‘c’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:105:40: error: ‘c’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:105:59: error: expected primary-expression before ‘>’ token ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/FP_compare.hpp: At global scope: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:30:0, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/FP_compare.hpp:112:12: error: declaration of ‘class FPT’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/FP_compare.hpp:106:10: error: shadows template parm ‘class FPT’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/FP_compare.hpp:187:12: error: declaration of ‘class FPT’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/FP_compare.hpp:172:10: error: shadows template parm ‘class FPT’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/FP_compare.hpp:207:12: error: declaration of ‘class FPT’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/FP_compare.hpp:172:10: error: shadows template parm ‘class FPT’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/FP_compare.hpp:219:12: error: declaration of ‘class FPT’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/FP_compare.hpp:172:10: error: shadows template parm ‘class FPT’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp: In function ‘void boost::svg::scale_axis(const T&, double*, double*, double*, int*, double*, double*, double*, int*, bool, double, bool, double, int, int, bool, double, int, int)’: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:350:51: error: to refer to a type member of a template parameter, use ‘typename T:: const_iterator’ [-fpermissive] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:350:51: error: to refer to a type member of a template parameter, use ‘typename T:: const_iterator’ [-fpermissive] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:359:5: error: need ‘typename’ before ‘T:: const_iterator’ because ‘T’ is a dependent scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:359:23: error: expected ‘;’ before ‘pos’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:360:9: error: ‘pos’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:364:25: error: ‘pos’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:395:5: error: need ‘typename’ before ‘T:: const_iterator’ because ‘T’ is a dependent scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:395:23: error: expected ‘;’ before ‘pos’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:396:11: error: ‘pos’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:401:9: error: ‘pos’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:456:7: error: ‘cout’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:456:7: note: suggested alternatives: In file included from tests/plotting_tests.cpp:14:0: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:456:186: error: ‘endl’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:456:186: note: suggested alternatives: In file included from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:40:0, from tests/plotting_tests.cpp:14: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp: In function ‘size_t boost::svg::show(const T&)’: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:666:3: error: ‘cout’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:666:3: note: suggested alternatives: In file included from tests/plotting_tests.cpp:14:0: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:667:8: error: need ‘typename’ before ‘T:: const_iterator’ because ‘T’ is a dependent scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:667:26: error: expected ‘;’ before ‘it’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:667:50: error: ‘it’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:671:11: error: ‘endl’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:671:11: note: suggested alternatives: In file included from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:40:0, from tests/plotting_tests.cpp:14: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp: In function ‘size_t boost::svg::show(iter, iter)’: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:684:5: error: ‘cout’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:684:5: note: suggested alternatives: In file included from tests/plotting_tests.cpp:14:0: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:687:3: error: ‘cout’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:687:3: note: suggested alternatives: In file included from tests/plotting_tests.cpp:14:0: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:62:18: note: ‘std::cout’ In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:688:11: error: ‘endl’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:688:11: note: suggested alternatives: In file included from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:40:0, from tests/plotting_tests.cpp:14: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:562:5: note: ‘std::endl’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp: In function ‘std::pair<double, double> boost::svg::range(const T&)’: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:708:49: error: to refer to a type member of a template parameter, use ‘typename T:: const_iterator’ [-fpermissive] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:708:49: error: to refer to a type member of a template parameter, use ‘typename T:: const_iterator’ [-fpermissive] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp: In function ‘std::pair<double, double> boost::svg::range_all(const T&)’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:720:37: error: ‘numeric_limits’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:720:37: note: suggested alternatives: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/limits.hpp:19:0, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/iterator/iterator_concepts.hpp:26, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/range/concepts.hpp:20, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/range/algorithm/equal.hpp:14, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/range/iterator_range_core.hpp:29, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/range/iterator_range.hpp:13, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/ptr_container/ptr_map_adapter.hpp:23, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/ptr_container/ptr_map.hpp:20, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/ptr_container/ptr_container.hpp:22, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/svg_tag.hpp:22, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg.hpp:184, from tests/plotting_tests.cpp:20: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/limits:304:12: note: ‘std::numeric_limits’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/limits:304:12: note: ‘std::numeric_limits’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/limits:304:12: note: ‘std::numeric_limits’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/limits:304:12: note: ‘std::numeric_limits’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/limits:304:12: note: ‘std::numeric_limits’ In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:720:52: error: expected primary-expression before ‘double’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:720:52: error: expected ‘)’ before ‘double’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:721:8: error: need ‘typename’ before ‘T:: const_iterator’ because ‘T’ is a dependent scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:721:26: error: expected ‘;’ before ‘it’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:721:51: error: ‘it’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:723:5: error: ‘pair’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:723:5: note: suggested alternatives: In file included from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_algobase.h:65:0, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_tree.h:63, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/map:60, from tests/plotting_tests.cpp:10: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_pair.h:88:12: note: ‘std::pair’ In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/mpl/iter_fold_if.hpp:23:0, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/mpl/find_if.hpp:19, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/mpl/find.hpp:17, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/mpl/aux_/contains_impl.hpp:20, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/mpl/contains.hpp:20, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/math/policies/policy.hpp:10, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/math/special_functions/math_fwd.hpp:28, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/math/special_functions/fpclassify.hpp:19, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/numeric_limits_handling.hpp:22, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/axis_plot_frame.hpp:22, from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:34, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/mpl/pair.hpp:28:8: note: ‘boost::mpl::pair’ In file included from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_algobase.h:65:0, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_tree.h:63, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/map:60, from tests/plotting_tests.cpp:10: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_pair.h:88:12: note: ‘std::pair’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_pair.h:88:12: note: ‘std::pair’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_pair.h:88:12: note: ‘std::pair’ /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_pair.h:88:12: note: ‘std::pair’ In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:37:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:723:10: error: expected primary-expression before ‘double’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:723:10: error: expected ‘;’ before ‘double’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/auto_axes.hpp:724:31: error: ‘mm’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: At global scope: In file included from tests/plotting_tests.cpp:21:0: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:73:12: warning: class ‘boost::svg::svg_2d_plot_series’ is implicitly friends with itself [enabled by default] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:78:45: error: ‘series_’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:78:45: error: template argument 1 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:78:33: error: template argument 2 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:78:33: error: template argument 4 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In constructor ‘boost::svg::svg_2d_plot_series::svg_2d_plot_series(T, T, std::string)’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:153:41: error: ‘temp’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:153:49: error: an assignment cannot appear in a constant-expression ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:153:49: error: template argument 1 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:153:29: error: template argument 2 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:163:9: error: ‘series_’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘int boost::svg::svg_2d_plot_series::values_count()’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:319:12: error: ‘series_’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: At global scope: In file included from tests/plotting_tests.cpp:21:0: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:2266:95: error: ‘pair_double_2d_convert’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:2266:95: note: suggested alternative: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:36:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:52:7: note: ‘boost::svg::detail::pair_double_2d_convert’ In file included from tests/plotting_tests.cpp:21:0: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:2270:105: error: ‘pair_double_2d_convert’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:2270:105: note: suggested alternative: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:36:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/detail/functors.hpp:52:7: note: ‘boost::svg::detail::pair_double_2d_convert’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘void boost::svg::svg_2d_plot::draw_straight_lines(const boost::svg::svg_2d_plot_series&)’: In file included from tests/plotting_tests.cpp:21:0: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1621:19: error: ‘const class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1623:48: error: ‘::const_iterator’ has not been declared ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1623:90: error: template argument 1 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1623:37: error: template argument 2 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1623:37: error: template argument 4 is invalid ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1629:34: error: ‘j’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1655:29: error: ‘const class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘void boost::svg::svg_2d_plot::draw_bezier_lines(const boost::svg::svg_2d_plot_series&)’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1700:19: error: ‘const class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1702:80: error: ‘const class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1723:32: error: ‘const class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘void boost::svg::svg_2d_plot::draw_plot_points()’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1788:87: error: ‘class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1789:31: error: ‘class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘void boost::svg::svg_2d_plot::draw_bars()’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1929:87: error: ‘class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:1930:31: error: ‘class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘void boost::svg::svg_2d_plot::draw_histogram()’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:2020:86: error: ‘class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:2028:87: error: ‘class boost::svg::svg_2d_plot_series’ has no member named ‘series_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘boost::svg::svg_2d_plot& boost::svg::svg_2d_plot::y_autoscale(const T&, const T&)’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:2709:9: error: expected ‘)’ before ‘y_include_zero_’ ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘boost::svg::svg_2d_plot_series& boost::svg::svg_2d_plot::plot(const T&, const string&, U)’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:3183:22: error: ‘series_’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘boost::svg::svg_2d_plot_series& boost::svg::svg_2d_plot::plot(const T&, const T&, const string&)’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:3199:25: error: expected primary-expression before ‘(’ token ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:3200:67: error: missing template arguments before ‘(’ token ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:3201:65: error: missing template arguments before ‘(’ token ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:3204:22: error: ‘series_’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp: In member function ‘boost::svg::svg_2d_plot_series& boost::svg::svg_2d_plot::plot(const T&, const T&, const string&, U)’: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:3215:38: error: ‘container’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:3219:22: error: ‘series_’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/show_2d_settings.hpp: In function ‘void boost::svg::outFmtFlags(std::ios_base::fmtflags, std::ostream&, const char*)’: In file included from tests/plotting_tests.cpp:22:0: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/show_2d_settings.hpp:71:15: error: invalid conversion from ‘int’ to ‘std::ios_base::fmtflags {aka std::_Ios_Fmtflags}’ [-fpermissive] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/show_2d_settings.hpp:94:17: error: invalid conversion from ‘int’ to ‘std::ios_base::fmtflags {aka std::_Ios_Fmtflags}’ [-fpermissive] In file included from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ios:43:0, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:40, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:40, from tests/plotting_tests.cpp:14: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/ios_base.h:564:5: error: initializing argument 1 of ‘std::ios_base::fmtflags std::ios_base::flags(std::ios_base::fmtflags)’ [-fpermissive] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/show_2d_settings.hpp: In function ‘void boost::svg::show_2d_plot_settings(boost::svg::svg_2d_plot&)’: In file included from tests/plotting_tests.cpp:22:0: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/show_2d_settings.hpp:195:51: error: invalid conversion from ‘int’ to ‘std::ios_base::fmtflags {aka std::_Ios_Fmtflags}’ [-fpermissive] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/show_2d_settings.hpp:61:6: error: initializing argument 1 of ‘void boost::svg::outFmtFlags(std::ios_base::fmtflags, std::ostream&, const char*)’ [-fpermissive] ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/show_2d_settings.hpp:307:20: error: invalid conversion from ‘int’ to ‘std::ios_base::fmtflags {aka std::_Ios_Fmtflags}’ [-fpermissive] In file included from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ios:43:0, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:40, from /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:40, from tests/plotting_tests.cpp:14: /home/roger/Software/gcc-4.7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/ios_base.h:564:5: error: initializing argument 1 of ‘std::ios_base::fmtflags std::ios_base::flags(std::ios_base::fmtflags)’ [-fpermissive] tests/plotting_tests.cpp: In function ‘void test1()’: tests/plotting_tests.cpp:168:16: error: ‘data1’ was not declared in this scope tests/plotting_tests.cpp:169:16: error: ‘data2’ was not declared in this scope ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp: In instantiation of ‘std::ostream& boost::svg::operator<<(std::ostream&, const boost::svg::unc<correlated>&) [with bool correlated = false; std::ostream = std::basic_ostream<char>]’: In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:32:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:267:73: required from here ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:123:10: error: ‘double boost::svg::unc<false>::value_’ is private ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:237:3: error: within this context ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:124:9: error: ‘float boost::svg::unc<false>::uncertainty_’ is private ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:238:3: error: within this context ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:124:9: error: ‘float boost::svg::unc<false>::uncertainty_’ is private ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:241:5: error: within this context ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:127:18: error: ‘short unsigned int boost::svg::unc<false>::deg_free_’ is private ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:254:3: error: within this context ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:127:18: error: ‘short unsigned int boost::svg::unc<false>::deg_free_’ is private ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:256:5: error: within this context ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:135:18: error: ‘short unsigned int boost::svg::unc<false>::types_’ is private ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:259:3: error: within this context ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:135:18: error: ‘short unsigned int boost::svg::unc<false>::types_’ is private ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:261:5: error: within this context gmake[1]: *** [build/Release/GNU-4.7-Linux-x86/tests/tests/plotting_tests.o] Error 1 gmake[1]: Leaving directory `/home/roger/NetBeansProjects/JPRoothaan' gmake: *** [.build-tests-impl] Error 2

Thought svg_plot (https://svn.boost.org/svn/boost/sandbox/SOC/2007/visualization/) is an interesting approach. Trying to stand it up and test it's implementation status.
Using gcc 4.7 on Windows 7, Ubuntu 12.04 and CentOS 5. all 64 bit.
Run into many template and friend issues. Anybody getting this lib to work?
Paul Bristow and I use this to generate the graphs for Boost.Math - I've only used it with MSVC though - hopefully Paul can answer your questions. John.

-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of John Maddock Sent: Wednesday, August 22, 2012 9:05 AM To: boost@lists.boost.org Subject: Re: [boost] attempting sandbox svg_plot templates
Thought svg_plot (https://svn.boost.org/svn/boost/sandbox/SOC/2007/visualization/) is an interesting approach. Trying to stand it up and test it's implementation status.
Using gcc 4.7 on Windows 7, Ubuntu 12.04 and CentOS 5. all 64 bit.
Run into many template and friend issues. Anybody getting this lib to work?
Paul Bristow and I use this to generate the graphs for Boost.Math - I've only used it with MSVC
though -
hopefully Paul can answer your questions.
I have used this OK very recently (with some recent additions to allow more things to be plotted) and produced new plots for the Boost.Math library. But I have never been used on anything but MSVC 32 bit on Windows (various platforms and versions). (And I'm not sure if Jake Voytko, the original author did either - I have a vague memory of some slight problem but that it was 'cured' by a workaround). Suggest you make sure you have a known-good (on MSVC 10) fresh SVN update from sandbox (just updating to my very latest version t revision: 80136 ) and that you mail me your compile failure file (privately if big). (If you are not a SVN user, ask me privately for a zip to be sent). Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com

On Tue, Aug 21, 2012 at 15:09:02 -0400, Roger Martin wrote:
Run into many template and friend issues. Anybody getting this lib to work?
Much coming from https://svn.boost.org/svn/boost/sandbox/SOC/2007/visualization/boost/svg_plo.... First two: .............. In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/svg_2d_plot.hpp:32:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:241:11: required from here ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:97:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const boost::svg::unc<false>&)’ does not match any template declaration ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-shared/include/boost/svg_plot/uncertain.hpp:102:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const std::pair<boost::svg::unc<false>, boost::svg::unc<false> >&)’ does not match any template declaration ..............
It's making friends with templates that don't exist. I don't think the involved templates can work in any compler, ever. There is however big difference between Gcc and Visual C++ in treating of templates. Gcc parses everything as it comes across it and insists that it's well-formed, while VC++ delays lot of it until instantiation, apparently in an attempt to relieve programmers from having to write `typename` and `template` in many cases. That means Gcc will complain about things like this while VC++ won't. However the templates seem pretty bogus. There is a template <bool correlated> class unc; followed up by template<typename correlated> std::ostream& operator<< (std::ostream& os, const unc<false>& u); followed up by friend std::ostream& operator<< <> (std::ostream& os, const unc<correlated>& u); and that simply does not add up under any compiler. The middle template is not using it's template argument in it's signature, so it's neither possible to give it's specialization as the friend declaration is trying to do, nor is it actually useful, because you'd need to give the template parameter explicitly, so the only possible call syntax is operator<< <whatever> (out, u) and that certainly does not look like what was intended. So I suggest you just try to comment the offending declarations out and see if it gets you somewhere. -- Jan 'Bulb' Hudec <bulb@ucw.cz>

-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Jan Hudec Sent: Friday, August 24, 2012 7:04 PM To: boost@lists.boost.org Subject: Re: [boost] attempting sandbox svg_plot templates
On Tue, Aug 21, 2012 at 15:09:02 -0400, Roger Martin wrote:
Run into many template and friend issues. Anybody getting this lib to work?
Much coming from https://svn.boost.org/svn/boost/sandbox/SOC/2007/visualization/boost/svg_plo.... First two: .............. In file included from ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc-sha red/include/boost/svg_plot/svg_2d_plot.hpp:32:0, from tests/plotting_tests.cpp:21: ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc- shared/include/boost/svg_plot/uncertain.hpp:241:11: required from here ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc- shared/include/boost/svg_plot/uncertain.hpp:97:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const boost::svg::unc<false>&)’ does not match any template declaration ../../testing-grounds/divcon-support_libs/local/r.linux-x86_64.gcc- shared/include/boost/svg_plot/uncertain.hpp:102:24: error: template-id ‘operator<< <>’ for ‘std::ostream& boost::svg::operator<<(std::ostream&, const std::pair<boost::svg::unc<false>, boost::svg::unc<false> >&)’ does not match any template declaration ..............
It's making friends with templates that don't exist. I don't think the involved templates can work in any compler, ever.
There is however big difference between Gcc and Visual C++ in treating of templates. Gcc parses everything as it comes across it and insists that it's well-formed, while VC++ delays lot of it until instantiation, apparently in an attempt to relieve programmers from having to write `typename` and `template` in many cases. That means Gcc will complain about things like this while VC++ won't.
However the templates seem pretty bogus. There is a
template <bool correlated> class unc;
followed up by
template<typename correlated> std::ostream& operator<< (std::ostream& os, const unc<false>& u);
followed up by
friend std::ostream& operator<< <> (std::ostream& os, const unc<correlated>& u);
and that simply does not add up under any compiler. The middle template is not using it's template argument in it's signature, so it's neither possible to give it's specialization as the friend declaration is trying to do, nor is it actually useful, because you'd need to give the template parameter explicitly, so the only possible call syntax is
operator<< <whatever> (out, u)
and that certainly does not look like what was intended.
So I suggest you just try to comment the offending declarations out and see if it gets you somewhere.
I'm sure you are right - but MSVC seems to swallow it and it works. Friends sometime seem more trouble than they are worth ;-) But I'm getting round to being able to work with both compilers, aided by the original 'complainant' Roger Martin. Watch this space... Paul
participants (4)
-
Jan Hudec
-
John Maddock
-
Paul A. Bristow
-
Roger Martin