|
Boost-Commit : |
From: hervebronnimann_at_[hidden]
Date: 2007-07-18 01:57:19
Author: hervebronnimann
Date: 2007-07-18 01:57:18 EDT (Wed, 18 Jul 2007)
New Revision: 7463
URL: http://svn.boost.org/trac/boost/changeset/7463
Log:
post-Skype discussion checkin.
Text files modified:
sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/container_selectors.hpp | 86 +++++++++++++++++++++----
sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/container_selectors.t.cpp | 6 +
sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/facet_selectors.hpp | 20 +++--
sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/facet_selectors.t.cpp | 6
sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_functions.hpp | 4
sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_selectors.hpp | 4
sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_selectors.t.cpp | 130 ++++++++++++++++++++-------------------
7 files changed, 163 insertions(+), 93 deletions(-)
Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/container_selectors.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/container_selectors.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/container_selectors.hpp 2007-07-18 01:57:18 EDT (Wed, 18 Jul 2007)
@@ -220,6 +220,12 @@
typedef typename std::tr1::hash_set<ValueType>::iterator base_type;
public:
+ // TYPES
+ typedef ValueType* value_type;
+ typedef value_type& reference;
+ typedef value_type* pointer;
+ typedef typename base_type::difference_type difference_type;
+ typedef typename base_type::iterator_category iterator_category;
// CREATORS
iterator() {}
// Create an unitialized iterator.
@@ -227,14 +233,14 @@
// Create an iterator pointing to the same element as the specified
// 'it' iterator in the specified 'container'.
// MANIPULATORS
- ValueType* operator*()
+ value_type operator*()
// Return the descriptor of the element pointed to by this
// iterator.
{
return &(*base_type());
}
// ACCESSORS
- ValueType* operator*() const
+ value_type operator*() const
// Return the descriptor of the element pointed to by this
// iterator.
{
@@ -284,7 +290,9 @@
template <typename ValueType>
struct container_gen<listS, ValueType> {
// This specialization of 'container_gen' selects the 'std::list'
- // container.
+ // container. It offers a descriptor type that is simply a pointer to a
+ // value, and an iterator type that is a list iterator but whose value type
+ // is instead a descriptor.
// TYPES
typedef std::list<ValueType> type;
@@ -304,6 +312,12 @@
typedef typename std::list<ValueType>::iterator base_type;
public:
+ // TYPES
+ typedef ValueType* value_type;
+ typedef value_type reference;
+ typedef value_type* pointer;
+ typedef typename base_type::difference_type difference_type;
+ typedef typename base_type::iterator_category iterator_category;
// CREATORS
iterator() {}
// Create an unitialized iterator.
@@ -311,18 +325,20 @@
// Create an iterator pointing to the same element as the specified
// 'it' iterator in the specified 'container'.
// MANIPULATORS
- ValueType* operator*()
- // Return the descriptor of the element pointed to by this
+ iterator& operator++() { ++static_cast<base_type&>(*this); return *this; }
+ iterator& operator--() { --static_cast<base_type&>(*this); return *this; }
+ reference operator*()
+ // Return the modifiable descriptor of the element pointed to by this
// iterator.
{
- return &(*base_type());
+ return &(*base_type(*this));
}
// ACCESSORS
- ValueType* operator*() const
+ value_type operator*() const
// Return the descriptor of the element pointed to by this
// iterator.
{
- return &(*base_type());
+ return &(*base_type(*this));
}
};
@@ -373,6 +389,12 @@
typedef typename std::set<ValueType>::iterator base_type;
public:
+ // TYPES
+ typedef const ValueType* value_type;
+ typedef value_type reference;
+ typedef value_type* pointer;
+ typedef typename base_type::difference_type difference_type;
+ typedef typename base_type::iterator_category iterator_category;
// CREATORS
iterator() {}
// Create an unitialized iterator.
@@ -380,14 +402,16 @@
// Create an iterator pointing to the same element as the specified
// 'it' iterator in the specified 'container'.
// MANIPULATORS
- const ValueType* operator*()
- // Return the descriptor of the element pointed to by this
+ iterator& operator++() { ++static_cast<base_type&>(*this); return *this; }
+ iterator& operator--() { --static_cast<base_type&>(*this); return *this; }
+ reference operator*()
+ // Return the non-modifiable descriptor of the element pointed to by this
// iterator.
{
return &(*base_type(*this));
}
// ACCESSORS
- const ValueType* operator*() const
+ value_type operator*() const
// Return the descriptor of the element pointed to by this
// iterator.
{
@@ -410,7 +434,7 @@
return container.end();
}
- static ValueType& value(descriptor x, type& container)
+ static const ValueType& value(descriptor x, type& container)
// This utility returns the value associated with the specified
// descriptor 'x' of the specified 'container'.
{
@@ -433,6 +457,29 @@
// Type used to describe an element in the collection of elements
// present in a given container.
+ struct descriptor_proxy {
+ // This type is a proxy for a descriptor reference.
+
+ // TYPES
+ typedef typename std::vector<ValueType>::iterator base_type;
+ typedef typename std::vector<ValueType>::size_type value_type;
+ // DATA
+ base_type m_begin;
+ value_type m_offset;
+ // CREATORS
+ descriptor_proxy(base_type begin, value_type offset)
+ : m_begin(begin), m_offset(offset) {}
+ // MANIPULATORS
+ descriptor_proxy& operator=(value_type x) {
+ *(m_begin+m_offset) = m_begin+x;
+ return *this;
+ }
+ // ACCESSORS
+ operator value_type() const {
+ return m_offset;
+ }
+ };
+
struct iterator : public std::vector<ValueType>::iterator {
// Iterator type over a given container. Note: the value type must be
// a descriptor, so we cannot use a 'std::vector:iterator'. Instead,
@@ -442,6 +489,12 @@
// DATA
std::vector<ValueType> *m_container;
public:
+ // TYPES
+ typedef typename std::vector<ValueType>::size_type value_type;
+ typedef descriptor_proxy reference;
+ typedef value_type* pointer;
+ typedef typename base_type::difference_type difference_type;
+ typedef typename base_type::iterator_category iterator_category;
// CREATORS
iterator()
// Create an unitialized iterator.
@@ -451,14 +504,15 @@
// 'it' iterator in the specified 'container'.
: base_type(it), m_container(container) {}
// MANIPULATORS
- typename std::vector<ValueType>::size_type operator*()
- // Return the descriptor of the element pointed to by this
+ reference operator*()
+ // Return a modifiable descriptor of the element pointed to by this
// iterator.
{
- return base_type(*this) - m_container->begin();
+ return descriptor_proxy(m_container->begin(),
+ base_type(*this) - m_container->begin());
}
// ACCESSORS
- typename std::vector<ValueType>::size_type operator*() const
+ value_type operator*() const
// Return the descriptor of the element pointed to by this
// iterator.
{
Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/container_selectors.t.cpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/container_selectors.t.cpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/container_selectors.t.cpp 2007-07-18 01:57:18 EDT (Wed, 18 Jul 2007)
@@ -95,6 +95,12 @@
iterator begin = ContainerGen::container_begin(container);
descriptor theBegin = *begin;
+ // Descriptor must hold correct value:
+ BOOST_CHECK(( ContainerGen::value(theBegin, container) == 0 ));
+ BOOST_CHECK(( ContainerGen::value(*++begin, container) == 1 ));
+ BOOST_CHECK(( ContainerGen::value(*++begin, container) == 2 ));
+ BOOST_CHECK(( ContainerGen::value(*++begin, container) == 3 ));
+
return true;
}
Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/facet_selectors.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/facet_selectors.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/facet_selectors.hpp 2007-07-18 01:57:18 EDT (Wed, 18 Jul 2007)
@@ -302,7 +302,8 @@
// FREE FUNCTIONS
template <typename FacetS, typename HalfedgeDescriptor, typename FacetBase>
typename facet_gen<FacetS, HalfedgeDescriptor, FacetBase>::facet_iterator
-facets_begin(facet_gen<FacetS, HalfedgeDescriptor, FacetBase>& hds) {
+facets_begin(facet_gen<FacetS, HalfedgeDescriptor, FacetBase>& hds)
+{
typedef typename facet_gen<FacetS,
HalfedgeDescriptor,
FacetBase>::ContainerGen ContainerGen;
@@ -311,7 +312,8 @@
template <typename FacetS, typename HalfedgeDescriptor, typename FacetBase>
typename facet_gen<FacetS, HalfedgeDescriptor, FacetBase>::facet_iterator
-facets_end(facet_gen<FacetS, HalfedgeDescriptor, FacetBase>& hds) {
+facets_end(facet_gen<FacetS, HalfedgeDescriptor, FacetBase>& hds)
+{
typedef typename facet_gen<FacetS,
HalfedgeDescriptor,
FacetBase>::ContainerGen ContainerGen;
@@ -320,20 +322,22 @@
template <typename FacetS, typename HalfedgeDescriptor, typename FacetBase>
typename facet_gen<FacetS, HalfedgeDescriptor, FacetBase>::size_type
-num_facets(facet_gen<FacetS, HalfedgeDescriptor, FacetBase> const& hds) {
+num_facets(facet_gen<FacetS, HalfedgeDescriptor, FacetBase> const& hds)
+{
return hds.m_container.size();
}
template <typename FacetS, typename HalfedgeDescriptor, typename FacetBase>
HalfedgeDescriptor
-halfedge(typename facet_gen<FacetS, HalfedgeDescriptor,
+halfedge(typename facet_gen<FacetS,
+ HalfedgeDescriptor,
FacetBase>::facet_descriptor const& f,
- facet_gen<FacetS, HalfedgeDescriptor, FacetBase>& hds) {
- return facet_gen<FacetS, HalfedgeDescriptor, FacetBase>
- ::ContainerGen::value(f, hds.m_container).m_facetLink;
+ facet_gen<FacetS, HalfedgeDescriptor, FacetBase>& hds)
+{
+ return facet_gen<FacetS, HalfedgeDescriptor, FacetBase>::ContainerGen
+ ::value(f, hds.m_container).m_facetLink;
}
-
} // namespace hdstl
} // namespace boost
Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/facet_selectors.t.cpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/facet_selectors.t.cpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/facet_selectors.t.cpp 2007-07-18 01:57:18 EDT (Wed, 18 Jul 2007)
@@ -155,7 +155,7 @@
facet_type array[] = { fa, fb, fc, fd }; (void) array;
// Same checks as before:
- //BOOST_CHECK(( facet_gen_requirements_void<FacetGen>() ));
+ // BOOST_CHECK(( facet_gen_requirements_void<FacetGen>() ));
container_type temp_con(array,array+4);
FacetGen facetGen;
facetGen.m_container = temp_con;
@@ -164,8 +164,8 @@
BOOST_CHECK(( facets_begin(facetGen)->m_facetLink == 1 ));
BOOST_CHECK(( (--facets_end(facetGen))->m_facetLink == 4 ));
- //BOOST_CHECK(( halfedge(*facets_begin(facetGen), facetGen) == 1 ));
- //BOOST_CHECK(( halfedge(*(--facets_end(facetGen)), facetGen) == 4 ));
+ BOOST_CHECK(( halfedge(*facets_begin(facetGen), facetGen) == 1 ));
+ // BOOST_CHECK(( halfedge(*(--facets_end(facetGen)), facetGen) == 4 ));
// Plus: get the base back from the facets and making sure it matches.
BOOST_CHECK(( facets_begin(facetGen)->base() == 1 ));
Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_functions.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_functions.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_functions.hpp 2007-07-18 01:57:18 EDT (Wed, 18 Jul 2007)
@@ -52,7 +52,7 @@
template<typename HalfedgeS, typename HalfedgeDescriptor>
struct opposite_function_helper {
- inline static
+ static
HalfedgeDescriptor&
opposite(HalfedgeDescriptor& h)
{
@@ -65,7 +65,7 @@
template<typename HalfedgeDescriptor, typename TraversalS>
struct opposite_function_helper<halfedgeS<vecS,TraversalS>, HalfedgeDescriptor> {
- inline static
+ static
HalfedgeDescriptor&
opposite(HalfedgeDescriptor& h)
{
Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_selectors.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_selectors.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_selectors.hpp 2007-07-18 01:57:18 EDT (Wed, 18 Jul 2007)
@@ -30,7 +30,7 @@
#define BOOST_HDSTL_HALFEDGE_SELECTORS_HPP 1
#include <boost/hdstl/hds_traits.hpp>
-#include <boost/hdstl/halfedge_ds/halfedge_ds.hpp>
+#include <boost/hdstl/halfedge_ds/container_selectors.hpp>
namespace boost {
namespace hdstl {
@@ -190,7 +190,7 @@
};
// SPECIALIZATIONS
-template <typename ContainerS, typename TraversalS,typename HalfedgeDescriptor,
+template <typename ContainerS, typename TraversalS, typename HalfedgeDescriptor,
typename VertexDescriptor, typename FacetDescriptor, typename Config>
struct halfedge_gen<halfedgeS<ContainerS,TraversalS>, HalfedgeDescriptor,
VertexDescriptor, FacetDescriptor, Config> {
Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_selectors.t.cpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_selectors.t.cpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/halfedge_ds/halfedge_selectors.t.cpp 2007-07-18 01:57:18 EDT (Wed, 18 Jul 2007)
@@ -1,4 +1,4 @@
-//halfedge_selectors.hpp -*- C++ -*-
+//halfedge_selectors.t.cpp -*- C++ -*-
//
//@OVERVIEW: The component under test is a selector class. We
// must make sure that all selectors are suitably defined and that the
@@ -12,7 +12,10 @@
// without errors, when assert is replaced by BOOST_CHECK.
#include <boost/hdstl/halfedge_ds/halfedge_selectors.hpp>
+
+#include <boost/hdstl/halfedge_ds/facet_selectors.hpp>
#include <boost/hdstl/halfedge_ds/halfedge_functions.hpp>
+#include <boost/hdstl/halfedge_ds/vertex_selectors.hpp>
#include <boost/test/minimal.hpp>
@@ -56,6 +59,17 @@
// CLASS HALFEDGE_GEN
// ===========================================================================
+template <typename HalfedgeS, typename VertexS, typename FacetS>
+struct halfedge_config {
+ enum {
+ halfedge_has_opposite_member = false,
+ halfedge_supports_vertices = false,
+ is_forward = false,
+ is_backward = false,
+ is_source = false,
+ halfedge_supports_facets = false
+ };
+};
template <typename HalfedgeGen>
bool halfedge_gen_requirements_void() {
@@ -109,7 +123,7 @@
halfedge_type array[] = { fa, fb, fc, fd }; (void) array;
// Same checks as before:
- //BOOST_CHECK(( halfedge_gen_requirements_void<HalfedgeGen>() ));
+ // BOOST_CHECK(( halfedge_gen_requirements_void<HalfedgeGen>() ));
container_type temp_con(array,array+4);
HalfedgeGen halfedgeGen;
halfedgeGen.m_container = temp_con;
@@ -118,8 +132,8 @@
BOOST_CHECK(( halfedges_begin(halfedgeGen)->m_halfedgeLink == 1 ));
BOOST_CHECK(( (--halfedges_end(halfedgeGen))->m_halfedgeLink == 4 ));
- //BOOST_CHECK(( halfedge(*halfedges_begin(halfedgeGen), halfedgeGen) == 1 ));
- //BOOST_CHECK(( halfedge(*(--halfedges_end(halfedgeGen)), halfedgeGen) == 4 ));
+ // BOOST_CHECK(( halfedge(*halfedges_begin(halfedgeGen), halfedgeGen) == 1 ));
+ // BOOST_CHECK(( halfedge(*(--halfedges_end(halfedgeGen)), halfedgeGen) == 4 ));
// Plus: get the base back from the halfedges and making sure it matches.
BOOST_CHECK(( halfedges_begin(halfedgeGen)->base() == 1 ));
@@ -138,7 +152,8 @@
// BOOST TEST APPARATUS
// ===========================================================================
-int test_main(int, char **)
+template <typename ContainerS>
+bool test_container_selector()
{
BOOST_CHECK(( selection_requirements(halfedgeS<listS,
forwardS<next_in_facet_tag> >()) ));
@@ -168,28 +183,25 @@
halfedge_gen<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
- noVertexS, noFacetS>
- ::config>
+ noVertexS, noFacetS> >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
halfedgeS<listS, forwardS<next_at_source_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, forwardS<next_at_source_tag> >,
- noVertexS, noFacetS>
- ::config>
+ noVertexS, noFacetS> >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
halfedgeS<listS, forwardS<next_at_target_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, forwardS<next_at_target_tag> >,
- noVertexS, noFacetS>
- ::config>
+ noVertexS, noFacetS> >
>() ));
// ===============
@@ -200,28 +212,25 @@
halfedge_gen<
halfedgeS<listS, backwardS<prev_in_facet_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, backwardS<prev_in_facet_tag> >,
- noVertexS, noFacetS>
- ::config>
+ noVertexS, noFacetS> >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
halfedgeS<listS, backwardS<prev_at_source_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, backwardS<prev_at_source_tag> >,
- noVertexS, noFacetS>
- ::config>
+ noVertexS, noFacetS> >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
halfedgeS<listS, backwardS<prev_at_target_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, backwardS<prev_at_target_tag> >,
- noVertexS, noFacetS>
- ::config>
+ noVertexS, noFacetS> >
>() ));
// ============
@@ -229,37 +238,34 @@
// ============
BOOST_CHECK(( halfedge_gen_requirements_void<
- halfedge_gen<
- halfedgeS<listS, bidirS<next_in_facet_tag,
- prev_in_facet_tag> >,
- int, int, int,
- halfedge_ds_gen<
- halfedgeS<listS, bidirS<next_in_facet_tag,
- prev_in_facet_tag> >,
- noVertexS, noFacetS>
- ::config>
+ halfedge_gen<
+ halfedgeS<listS, bidirS<next_in_facet_tag,
+ prev_in_facet_tag> >,
+ int, int, int,
+ halfedge_config<
+ halfedgeS<listS, bidirS<next_in_facet_tag,
+ prev_in_facet_tag> >,
+ noVertexS, noFacetS> >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
- halfedgeS<listS, bidirS<next_at_source_tag,
- prev_at_source_tag> >,
- int, int, int,
- halfedge_ds_gen<
- halfedgeS<listS, bidirS<next_at_source_tag,
- prev_at_source_tag> >,
- noVertexS, noFacetS>
- ::config>
+ halfedgeS<listS, bidirS<next_at_source_tag,
+ prev_at_source_tag> >,
+ int, int, int,
+ halfedge_config<
+ halfedgeS<listS, bidirS<next_at_source_tag,
+ prev_at_source_tag> >,
+ noVertexS, noFacetS> >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
halfedgeS<listS, bidirS<next_at_target_tag,
prev_at_target_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, bidirS<next_at_target_tag,
prev_at_target_tag> >,
- noVertexS, noFacetS>
- ::config>
+ noVertexS, noFacetS> >
>() ));
// =============
@@ -270,37 +276,33 @@
halfedge_gen<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
- vertexS<listS,false,sourceS>, noFacetS>
- ::config>
+ vertexS<listS,false,sourceS>, noFacetS> >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
- vertexS<listS,false,targetS>, noFacetS>
- ::config>
+ vertexS<listS,false,targetS>, noFacetS> >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
- vertexS<listS,true,sourceS>, noFacetS>
- ::config>
+ vertexS<listS,true,sourceS>, noFacetS> >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
- vertexS<listS,true,targetS>, noFacetS>
- ::config>
+ vertexS<listS,true,targetS>, noFacetS> >
>() ));
// ============
@@ -311,19 +313,17 @@
halfedge_gen<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
- noVertexS, facetS<listS,true> >
- ::config>
+ noVertexS, facetS<listS,true> > >
>() ));
BOOST_CHECK(( halfedge_gen_requirements_void<
halfedge_gen<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
int, int, int,
- halfedge_ds_gen<
+ halfedge_config<
halfedgeS<listS, forwardS<next_in_facet_tag> >,
- noVertexS, facetS<listS,false> >
- ::config>
+ noVertexS, facetS<listS,false> > >
>() ));
/*
BOOST_CHECK(( halfedge_gen_requirements_noHalfedgeLink<
@@ -356,6 +356,12 @@
// halfedge_gen<halfedgeS<vecS,true>, int, custom_halfedge_base> >() ));
//BOOST_CHECK(( usageExample() ));
*/
- return 0;
+ return true;
}
+int test_main(int, char**)
+{
+ BOOST_CHECK(( test_container_selector<listS>() ));
+ BOOST_CHECK(( test_container_selector<vecS>() ));
+ return 0;
+}
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk