|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r50482 - in sandbox/SOC/2006/tree/trunk: . boost/tree boost/tree/detail
From: ockham_at_[hidden]
Date: 2009-01-05 06:10:44
Author: bernhard.reiter
Date: 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
New Revision: 50482
URL: http://svn.boost.org/trac/boost/changeset/50482
Log:
[De|A]scendor -> [De|A]scendingCursor
RootTracker -> RootTrackingCursor
Text files modified:
sandbox/SOC/2006/tree/trunk/TODO | 7 +++++++
sandbox/SOC/2006/tree/trunk/boost/tree/algorithm.hpp | 10 +++++-----
sandbox/SOC/2006/tree/trunk/boost/tree/ascending_algorithms.hpp | 2 +-
sandbox/SOC/2006/tree/trunk/boost/tree/cursor_archetypes.hpp | 22 +++++++++++-----------
sandbox/SOC/2006/tree/trunk/boost/tree/cursor_concepts.hpp | 24 ++++++++++++------------
sandbox/SOC/2006/tree/trunk/boost/tree/detail/iterative_algorithms.hpp | 12 ++++++------
sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_inorder_algorithms.hpp | 8 ++++----
sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_postorder_algorithms.hpp | 8 ++++----
sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_preorder_algorithms.hpp | 8 ++++----
sandbox/SOC/2006/tree/trunk/boost/tree/forest_tree.hpp | 4 ++--
sandbox/SOC/2006/tree/trunk/boost/tree/inorder_algorithms.hpp | 18 +++++++++---------
sandbox/SOC/2006/tree/trunk/boost/tree/iterator.hpp | 6 +++---
sandbox/SOC/2006/tree/trunk/boost/tree/postorder_algorithms.hpp | 10 +++++-----
sandbox/SOC/2006/tree/trunk/boost/tree/preorder_algorithms.hpp | 10 +++++-----
14 files changed, 78 insertions(+), 71 deletions(-)
Modified: sandbox/SOC/2006/tree/trunk/TODO
==============================================================================
--- sandbox/SOC/2006/tree/trunk/TODO (original)
+++ sandbox/SOC/2006/tree/trunk/TODO 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -14,6 +14,11 @@
[section TODO]
General:
+* preorder_insert_cursor: hopefully easy to implement...
+* Fix insert cursor to work with filling procedure as of insert_cursor_test.cpp
+* Fix insert cursor (test) to work with fake_binary_tree
+* Fix binary tree/node: empty() -> root.begin() == root.end() !
+* Check forest/binary_tree correspondence in a hard wired fashion.
* Add checks for correspondence of concepts and archetypes!
* Re-do forest (again!). No root(); begin() and end() instead. No default element at
construction time (that would really suck). Rename forest_tree to forest,
@@ -188,6 +193,8 @@
Documentation:
+* algorithms.qbk is rather pointless right now. Better use doygen for
+ an algorithm group.
* Add a rationale for binary tree cursor semantics.
* Make docs more coherent. If we're using doxygen for API documentation, don't
duplicate that information via quickbook!
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/algorithm.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/algorithm.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/algorithm.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -88,8 +88,8 @@
template <class Cursor>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>))
- ((Ascendor<Cursor>)),
+ ((DescendingCursor<Cursor>))
+ ((AscendingCursor<Cursor>)),
(typename Cursor::size_type)) // return type
index(Cursor const& cur)
{
@@ -98,7 +98,7 @@
template <class BinaryCursor>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<BinaryCursor>)),
+ ((DescendingCursor<BinaryCursor>)),
(void)) // return type
to_forest_end(BinaryCursor& c)
{
@@ -110,8 +110,8 @@
template <class BinaryCursor>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<BinaryCursor>))
- ((Ascendor<BinaryCursor>)),
+ ((DescendingCursor<BinaryCursor>))
+ ((AscendingCursor<BinaryCursor>)),
(void)) // return type
to_forest_parent(BinaryCursor& c)
{
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/ascending_algorithms.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/ascending_algorithms.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/ascending_algorithms.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -36,7 +36,7 @@
template <class MultiwayCursor>
inline
BOOST_CONCEPT_REQUIRES(
- ((Ascendor<MultiwayCursor>)),
+ ((AscendingCursor<MultiwayCursor>)),
(void)) // return type
successor(ascending, MultiwayCursor& c)
{
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/cursor_archetypes.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/cursor_archetypes.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/cursor_archetypes.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -18,26 +18,26 @@
namespace boost {
namespace tree {
-class descendor_archetype
+class descendingCursor_archetype
{
public:
typedef descending_vertical_traversal_tag vertical_traversal;
- descendor_archetype& to_begin() { return *this; }
- descendor_archetype& to_end() { return *this; }
+ descendingCursor_archetype& to_begin() { return *this; }
+ descendingCursor_archetype& to_end() { return *this; }
- descendor_archetype begin() const { return *this; }
- descendor_archetype end() const { return *this; }
+ descendingCursor_archetype begin() const { return *this; }
+ descendingCursor_archetype end() const { return *this; }
bool empty() const { return true; }
};
-class ascendor_archetype
+class ascendingCursor_archetype
{
public:
- ascendor_archetype& to_parent() { return *this; }
+ ascendingCursor_archetype& to_parent() { return *this; }
- ascendor_archetype parent() const { return *this; }
+ ascendingCursor_archetype parent() const { return *this; }
};
template <
@@ -60,7 +60,7 @@
};
-// Ideally derive from ascendor_archetype.
+// Ideally derive from ascendingCursor_archetype.
// The problem: begin() and end() return the wrong type!
// FIXME: constructors etc
template <
@@ -73,7 +73,7 @@
, HorizontalTraversal
, descending_vertical_traversal_tag>
: public iterator_archetype<Value, AccessCategory, HorizontalTraversal>
-//, public descendor_archetype
+//, public descendingCursor_archetype
{
private:
typedef cursor_archetype<Value
@@ -102,7 +102,7 @@
, HorizontalTraversal
, ascending_vertical_traversal_tag>
: public iterator_archetype<Value, AccessCategory, HorizontalTraversal>
-//, public ascendor_archetype
+//, public ascendingCursor_archetype
{
private:
typedef cursor_archetype<Value
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/cursor_concepts.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/cursor_concepts.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/cursor_concepts.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -18,17 +18,17 @@
namespace boost_concepts {
/**
- * @brief Descendor concept
+ * @brief DescendingCursor concept
* Note that the existence of begin() and end() member functions follows quite
* naturally from the existence of to_begin() and to_end(), plus
* CopyConstructibility of X, which is quite a natural requirement for
* cursors.
*/
template <class X>
-struct Descendor
+struct DescendingCursor
{
public:
- BOOST_CONCEPT_USAGE(Descendor)
+ BOOST_CONCEPT_USAGE(DescendingCursor)
{
X& rb = d.to_begin();
rb.to_begin(); // Avoid compiler warning about unused variable
@@ -50,21 +50,21 @@
/**
- * @brief Ascendor concept
+ * @brief AscendingCursor concept
* Note that the existence of a parent() member function follows quite
* naturally from the existence of to_parent(), plus
* CopyConstructibility of X, which is quite a natural requirement for
* cursors.
*
- * Ascendor is not derived from Descendor, as there is no obviuos requirement
+ * AscendingCursor is not derived from DescendingCursor, as there is no obviuos requirement
* for it, so these things are best kept separate. For a use case of an
- * Ascendor-but-not-Descendor, see eg Knuth 2.3.3, (page 353)
+ * AscendingCursor-but-not-DescendingCursor, see eg Knuth 2.3.3, (page 353)
*/
template <class X>
-struct Ascendor
+struct AscendingCursor
{
public:
- BOOST_CONCEPT_USAGE(Ascendor)
+ BOOST_CONCEPT_USAGE(AscendingCursor)
{
X& rp = a.to_parent();
rp.to_parent(); // Avoid compiler warning about unused variable
@@ -76,14 +76,14 @@
};
/**
- * @brief RootTracker concept
+ * @brief RootTrackingCursor concept
* Keeps track of a (subtree) root.
*/
template <class X>
-struct RootTracker
- : Ascendor<X>
+struct RootTrackingCursor
+ : AscendingCursor<X>
{
- BOOST_CONCEPT_USAGE(RootTracker)
+ BOOST_CONCEPT_USAGE(RootTrackingCursor)
{
bool b = r.is_root();
b = false; // Avoid compiler warning about unused variable
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/detail/iterative_algorithms.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/detail/iterative_algorithms.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/detail/iterative_algorithms.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -30,8 +30,8 @@
template <class Order, class Cursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>))
- ((Ascendor<Cursor>)),
+ ((DescendingCursor<Cursor>))
+ ((AscendingCursor<Cursor>)),
(Op)) // return type
for_each(Order, Cursor is, Op f, ascending_vertical_traversal_tag)
{
@@ -48,10 +48,10 @@
template <class Order, class InCursor, class OutCursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<InCursor>))
- ((Ascendor<InCursor>))
- ((Descendor<OutCursor>))
- ((Ascendor<OutCursor>)),
+ ((DescendingCursor<InCursor>))
+ ((AscendingCursor<InCursor>))
+ ((DescendingCursor<OutCursor>))
+ ((AscendingCursor<OutCursor>)),
(OutCursor)) // return type
transform (Order, InCursor is, OutCursor t, Op op
, ascending_vertical_traversal_tag)
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_inorder_algorithms.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_inorder_algorithms.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_inorder_algorithms.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -32,7 +32,7 @@
*/
template <class MultiwayCursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<MultiwayCursor>)),
+ ((DescendingCursor<MultiwayCursor>)),
(void)) // return type
for_each_recursive(inorder, MultiwayCursor s, Op& f)
{
@@ -62,7 +62,7 @@
*/
template <class MultiwayCursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<MultiwayCursor>)),
+ ((DescendingCursor<MultiwayCursor>)),
(Op)) // return type
for_each(inorder, MultiwayCursor s, Op f, descending_vertical_traversal_tag)
{
@@ -95,8 +95,8 @@
*/
template <class InCursor, class OutCursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<InCursor>))
- ((Descendor<OutCursor>))
+ ((DescendingCursor<InCursor>))
+ ((DescendingCursor<OutCursor>))
/*((UnaryFunction<Op>))*/,
(OutCursor)) // return type
transform(inorder, InCursor s, OutCursor t, Op op, descending_vertical_traversal_tag)
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_postorder_algorithms.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_postorder_algorithms.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_postorder_algorithms.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -32,7 +32,7 @@
*/
template <class Cursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>)),
+ ((DescendingCursor<Cursor>)),
(void)) // return type
for_each_recursive(postorder, Cursor s, Op& f)
{
@@ -60,7 +60,7 @@
*/
template <class Cursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>)),
+ ((DescendingCursor<Cursor>)),
(Op)) // return type
for_each(postorder, Cursor s, Op f, descending_vertical_traversal_tag)
{
@@ -93,8 +93,8 @@
*/
template <class InCursor, class OutCursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<InCursor>))
- ((Descendor<OutCursor>)),
+ ((DescendingCursor<InCursor>))
+ ((DescendingCursor<OutCursor>)),
(OutCursor)) // return type
transform(postorder, InCursor s, OutCursor t, Op op, descending_vertical_traversal_tag)
{
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_preorder_algorithms.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_preorder_algorithms.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/detail/recursive_preorder_algorithms.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -32,7 +32,7 @@
*/
template <class Cursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>)),
+ ((DescendingCursor<Cursor>)),
(void)) // return type
for_each_recursive(preorder, Cursor s, Op& f)
{
@@ -60,7 +60,7 @@
*/
template <class Cursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>)),
+ ((DescendingCursor<Cursor>)),
(Op)) // return type
for_each(preorder, Cursor s, Op f, descending_vertical_traversal_tag)
{
@@ -95,8 +95,8 @@
*/
template <class InCursor, class OutCursor, class Op>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<InCursor>))
- ((Descendor<OutCursor>)),
+ ((DescendingCursor<InCursor>))
+ ((DescendingCursor<OutCursor>)),
(OutCursor)) // return type
transform(preorder, InCursor s, OutCursor t, Op op, descending_vertical_traversal_tag)
{
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/forest_tree.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/forest_tree.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/forest_tree.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -37,8 +37,8 @@
class forest_tree {
BOOST_CONCEPT_ASSERT((DefaultConstructible<T>));
-BOOST_CONCEPT_ASSERT((Descendor< typename binary_tree<T>::cursor >));
-BOOST_CONCEPT_ASSERT((Descendor< typename binary_tree<T>::const_cursor >));
+BOOST_CONCEPT_ASSERT((DescendingCursor< typename binary_tree<T>::cursor >));
+BOOST_CONCEPT_ASSERT((DescendingCursor< typename binary_tree<T>::const_cursor >));
//BOOST_CONCEPT_ASSERT((SameType<T, typename Hierarchy::value_type>));
// Is there a SameType concept in BCCL?
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/inorder_algorithms.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/inorder_algorithms.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/inorder_algorithms.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -40,8 +40,8 @@
template <class MultiwayCursor>
inline
BOOST_CONCEPT_REQUIRES(
- ((Descendor<MultiwayCursor>))
- ((RootTracker<MultiwayCursor>)),
+ ((DescendingCursor<MultiwayCursor>))
+ ((RootTrackingCursor<MultiwayCursor>)),
(void)) // return type
successor(inorder, MultiwayCursor& c)
{
@@ -62,8 +62,8 @@
template <class MultiwayCursor>
inline
BOOST_CONCEPT_REQUIRES(
- ((Descendor<MultiwayCursor>))
- ((RootTracker<MultiwayCursor>)),
+ ((DescendingCursor<MultiwayCursor>))
+ ((RootTrackingCursor<MultiwayCursor>)),
(void)) // return type
predecessor(inorder, MultiwayCursor& c)
{
@@ -87,7 +87,7 @@
*/
template <class Cursor>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>)),
+ ((DescendingCursor<Cursor>)),
(void)) // return type
to_first(inorder, Cursor& c)
{
@@ -122,7 +122,7 @@
//[ lower_bound
template <class MultiwayCursor, class T>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<MultiwayCursor>)),
+ ((DescendingCursor<MultiwayCursor>)),
(MultiwayCursor)) // return type
lower_bound(MultiwayCursor x, T const& val)
//]
@@ -150,7 +150,7 @@
//[ lower_bound_cmp
template <class MultiwayCursor, class T, class Cmp>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<MultiwayCursor>))
+ ((DescendingCursor<MultiwayCursor>))
/*((LessThanComparable<Cmp>))*/, // Problem with balanced_tree
(MultiwayCursor)) // return type
lower_bound(MultiwayCursor x, T const& val, Cmp cmp)
@@ -178,7 +178,7 @@
//[ upper_bound
template <class MultiwayCursor, class T>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<MultiwayCursor>)),
+ ((DescendingCursor<MultiwayCursor>)),
(MultiwayCursor)) // return type
upper_bound(MultiwayCursor x, T const& val)
//]
@@ -206,7 +206,7 @@
//[ upper_bound_cmp
template <class MultiwayCursor, class T, class Cmp>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<MultiwayCursor>))
+ ((DescendingCursor<MultiwayCursor>))
((LessThanComparable<Cmp>)),
(MultiwayCursor)) // return type
upper_bound(MultiwayCursor x, T const& val, Cmp cmp)
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/iterator.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/iterator.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/iterator.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -43,7 +43,7 @@
, boost::use_default
, typename Order::iterator_category
> {
-BOOST_CONCEPT_ASSERT((RootTracker<Cursor>));
+BOOST_CONCEPT_ASSERT((RootTrackingCursor<Cursor>));
private:
struct enabler {};
@@ -92,7 +92,7 @@
*/
template <class Order, class Cursor>
BOOST_CONCEPT_REQUIRES(
- ((Ascendor<Cursor>)),
+ ((AscendingCursor<Cursor>)),
(iterator< Order, root_tracking_cursor<Cursor> >)) // return type
//iterator< Order, root_tracking_cursor<Cursor> >
begin(Order, Cursor c)
@@ -110,7 +110,7 @@
*/
template <class Order, class Cursor>
BOOST_CONCEPT_REQUIRES(
- ((Ascendor<Cursor>)),
+ ((AscendingCursor<Cursor>)),
(iterator< Order, root_tracking_cursor<Cursor> >)) // return type
//iterator<Order, root_tracking_cursor<Cursor> >
end(Order, Cursor c)
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/postorder_algorithms.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/postorder_algorithms.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/postorder_algorithms.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -37,8 +37,8 @@
template <class Cursor>
inline
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>))
- ((RootTracker<Cursor>)),
+ ((DescendingCursor<Cursor>))
+ ((RootTrackingCursor<Cursor>)),
(void)) // return type
successor(postorder, Cursor& c)
{
@@ -71,8 +71,8 @@
template <class Cursor>
inline
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>))
- ((RootTracker<Cursor>)),
+ ((DescendingCursor<Cursor>))
+ ((RootTrackingCursor<Cursor>)),
(void)) // return type
predecessor(postorder, Cursor& c)
{
@@ -110,7 +110,7 @@
*/
template <class Cursor>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>)),
+ ((DescendingCursor<Cursor>)),
(void)) // return type
to_first(postorder, Cursor& c)
{
Modified: sandbox/SOC/2006/tree/trunk/boost/tree/preorder_algorithms.hpp
==============================================================================
--- sandbox/SOC/2006/tree/trunk/boost/tree/preorder_algorithms.hpp (original)
+++ sandbox/SOC/2006/tree/trunk/boost/tree/preorder_algorithms.hpp 2009-01-05 06:10:42 EST (Mon, 05 Jan 2009)
@@ -37,8 +37,8 @@
template <typename Cursor>
inline
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>))
- ((RootTracker<Cursor>)),
+ ((DescendingCursor<Cursor>))
+ ((RootTrackingCursor<Cursor>)),
(void)) // return type
successor(preorder, Cursor& c)
{
@@ -78,8 +78,8 @@
template <class Cursor>
inline
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>))
- ((RootTracker<Cursor>)),
+ ((DescendingCursor<Cursor>))
+ ((RootTrackingCursor<Cursor>)),
(void)) // return type
predecessor(preorder, Cursor& c)
{
@@ -113,7 +113,7 @@
*/
template <class Cursor>
BOOST_CONCEPT_REQUIRES(
- ((Descendor<Cursor>)),
+ ((DescendingCursor<Cursor>)),
(void)) // return type
to_first(preorder, Cursor& c)
{
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