Fix boost demangle

This commit is contained in:
Simon Giraudot 2016-10-12 11:31:23 +02:00
parent 03ab2219bc
commit 2a8cd6b466
2 changed files with 47 additions and 3 deletions

View File

@ -27,7 +27,7 @@
#include <CGAL/Surface_mesh/Properties.h>
#include <boost/core/demangle.hpp>
#include <CGAL/demangle.h>
namespace CGAL {
@ -749,13 +749,13 @@ public:
std::string properties() const
{
std::ostringstream oss;
oss << "CGAL::Point_set_3<" << boost::core::demangle(typeid(Point).name())
oss << "CGAL::Point_set_3<" << CGAL::demangle(typeid(Point).name())
<< "> with " << size() << " point(s) ("
<< number_of_removed_points() << " removed point(s) waiting to be deleted)" << std::endl;
std::vector<std::string> prop = m_base.properties();
for (std::size_t i = 0; i < prop.size(); ++ i)
oss << " * \"" << prop[i] << "\" property of type "
<< boost::core::demangle(m_base.get_type(prop[i]).name()) << std::endl;
<< CGAL::demangle(m_base.get_type(prop[i]).name()) << std::endl;
return oss.str();
}

View File

@ -0,0 +1,44 @@
// Copyright (c) 2016 GeometryFactory (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 3 of the License,
// or (at your option) any later version.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $URL$
// $Id$
//
// Author(s) : Simon Giraudot
#ifndef CGAL_DEMANGLE_H
#define CGAL_DEMANGLE_H
#if BOOST_VERSION >= 105600
#include <boost/core/demangle.hpp>
#else
#include <boost/units/detail/utility.hpp>
#endif
namespace CGAL {
inline std::string demangle(const char* name)
{
#if BOOST_VERSION >= 105600
return boost::core::demangle(name);
#else
return boost::utils::detail::demangle(name);
#endif
}
} //namespace CGAL
#endif // CGAL_DEMANGLE_H