diff -up openscad-2021.01/src/openscad.cc.fix-overloaded-join openscad-2021.01/src/openscad.cc --- openscad-2021.01/src/openscad.cc.fix-overloaded-join 2022-02-11 18:40:36.655669905 +0000 +++ openscad-2021.01/src/openscad.cc 2022-02-11 18:42:36.479585278 +0000 @@ -65,7 +65,6 @@ #include #include #include -#include #include #include #include @@ -307,7 +306,7 @@ void set_render_color_scheme(const std:: } if (exit_if_not_found) { - LOG(message_group::None,Location::NONE,"",(boost::join(ColorMap::inst()->colorSchemeNames(), "\n"))); + LOG(message_group::None,Location::NONE,"",(boost::algorithm::join(ColorMap::inst()->colorSchemeNames(), "\n"))); exit(1); } else { @@ -885,7 +884,7 @@ struct CommaSeparatedVector }; template -std::string join(const Seq &seq, const std::string &sep, const ToString &toString) +std::string str_join(const Seq &seq, const std::string &sep, const ToString &toString) { return boost::algorithm::join(boost::adaptors::transform(seq, toString), sep); } @@ -947,7 +946,7 @@ int main(int argc, char **argv) ("P,P", po::value(), "customizer parameter set") #ifdef ENABLE_EXPERIMENTAL ("enable", po::value>(), ("enable experimental features: " + - join(boost::make_iterator_range(Feature::begin(), Feature::end()), " | ", + str_join(boost::make_iterator_range(Feature::begin(), Feature::end()), " | ", [](const Feature *feature) { return feature->get_name(); }) + @@ -964,11 +963,11 @@ int main(int argc, char **argv) ("render", po::value()->implicit_value(""), "for full geometry evaluation when exporting png") ("preview", po::value()->implicit_value(""), "[=throwntogether] -for ThrownTogether preview png") ("animate", po::value(), "export N animated frames") - ("view", po::value(), ("=view options: " + boost::join(viewOptions.names(), " | ")).c_str()) + ("view", po::value(), ("=view options: " + boost::algorithm::join(viewOptions.names(), " | ")).c_str()) ("projection", po::value(), "=(o)rtho or (p)erspective when exporting png") ("csglimit", po::value(), "=n -stop rendering at n CSG elements when exporting png") ("colorscheme", po::value(), ("=colorscheme: " + - join(ColorMap::inst()->colorSchemeNames(), " | ", + str_join(ColorMap::inst()->colorSchemeNames(), " | ", [](const std::string& colorScheme) { return (colorScheme == ColorMap::inst()->defaultColorSchemeName() ? "*" : "") + colorScheme; }) +