mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-23 08:41:11 -06:00
Incomplete work for using Boost.Polygon to compute medial axis
This commit is contained in:
parent
11f065ca5e
commit
bf91f3096a
1650 changed files with 307148 additions and 9 deletions
88
xs/src/boost/test/predicate_result.hpp
Normal file
88
xs/src/boost/test/predicate_result.hpp
Normal file
|
@ -0,0 +1,88 @@
|
|||
// (C) Copyright Gennadiy Rozental 2001-2008.
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/test for the library home page.
|
||||
//
|
||||
// File : $RCSfile$
|
||||
//
|
||||
// Version : $Revision: 54633 $
|
||||
//
|
||||
// Description : enhanced result for test predicate that include message explaining failure
|
||||
// ***************************************************************************
|
||||
|
||||
#ifndef BOOST_TEST_PREDICATE_RESULT_HPP_012705GER
|
||||
#define BOOST_TEST_PREDICATE_RESULT_HPP_012705GER
|
||||
|
||||
// Boost.Test
|
||||
#include <boost/test/utils/class_properties.hpp>
|
||||
#include <boost/test/utils/wrap_stringstream.hpp>
|
||||
#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
|
||||
|
||||
// Boost
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
// STL
|
||||
#include <cstddef> // for std::size_t
|
||||
|
||||
#include <boost/test/detail/suppress_warnings.hpp>
|
||||
|
||||
//____________________________________________________________________________//
|
||||
|
||||
namespace boost {
|
||||
|
||||
namespace test_tools {
|
||||
|
||||
// ************************************************************************** //
|
||||
// ************** predicate_result ************** //
|
||||
// ************************************************************************** //
|
||||
|
||||
class BOOST_TEST_DECL predicate_result {
|
||||
typedef unit_test::const_string const_string;
|
||||
struct dummy { void nonnull() {}; };
|
||||
typedef void (dummy::*safe_bool)();
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
predicate_result( bool pv_ )
|
||||
: p_predicate_value( pv_ )
|
||||
{}
|
||||
|
||||
template<typename BoolConvertable>
|
||||
predicate_result( BoolConvertable const& pv_ ) : p_predicate_value( !!pv_ ) {}
|
||||
|
||||
// Access methods
|
||||
bool operator!() const { return !p_predicate_value; }
|
||||
void operator=( bool pv_ ) { p_predicate_value.value = pv_; }
|
||||
operator safe_bool() const { return !!p_predicate_value ? &dummy::nonnull : 0; }
|
||||
|
||||
// Public properties
|
||||
BOOST_READONLY_PROPERTY( bool, (predicate_result) ) p_predicate_value;
|
||||
|
||||
// Access methods
|
||||
bool has_empty_message() const { return !m_message; }
|
||||
wrap_stringstream& message()
|
||||
{
|
||||
if( !m_message )
|
||||
m_message.reset( new wrap_stringstream );
|
||||
|
||||
return *m_message;
|
||||
}
|
||||
const_string message() const { return !m_message ? const_string() : const_string( m_message->str() ); }
|
||||
|
||||
private:
|
||||
// Data members
|
||||
shared_ptr<wrap_stringstream> m_message;
|
||||
};
|
||||
|
||||
} // namespace test_tools
|
||||
|
||||
} // namespace boost
|
||||
|
||||
//____________________________________________________________________________//
|
||||
|
||||
#include <boost/test/detail/enable_warnings.hpp>
|
||||
|
||||
#endif // BOOST_TEST_PREDICATE_RESULT_HPP_012705GER
|
Loading…
Add table
Add a link
Reference in a new issue