$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r80752 - sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node
From: adam.wulkiewicz_at_[hidden]
Date: 2012-09-29 07:44:22
Author: awulkiew
Date: 2012-09-29 07:44:21 EDT (Sat, 29 Sep 2012)
New Revision: 80752
URL: http://svn.boost.org/trac/boost/changeset/80752
Log:
renamed node types files
Added:
   sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_d_mem_dynamic.hpp
      - copied unchanged from r80751, /sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default.hpp
   sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_d_mem_static.hpp
      - copied unchanged from r80751, /sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_static.hpp
   sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_s_mem_dynamic.hpp
      - copied unchanged from r80751, /sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_variant.hpp
   sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_s_mem_static.hpp
      - copied unchanged from r80751, /sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_static_variant.hpp
Removed:
   sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default.hpp
   sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_static.hpp
   sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_static_variant.hpp
   sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_variant.hpp
Text files modified: 
   sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node.hpp |     9 ++++-----                               
   1 files changed, 4 insertions(+), 5 deletions(-)
Modified: sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node.hpp
==============================================================================
--- sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node.hpp	(original)
+++ sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node.hpp	2012-09-29 07:44:21 EDT (Sat, 29 Sep 2012)
@@ -13,11 +13,10 @@
 
 #include <boost/geometry/extensions/index/rtree/node/concept.hpp>
 
-#include <boost/geometry/extensions/index/rtree/node/node_default.hpp>
-#include <boost/geometry/extensions/index/rtree/node/node_default_variant.hpp>
-
-#include <boost/geometry/extensions/index/rtree/node/node_default_static.hpp>
-#include <boost/geometry/extensions/index/rtree/node/node_default_static_variant.hpp>
+#include <boost/geometry/extensions/index/rtree/node/node_d_mem_dynamic.hpp>
+#include <boost/geometry/extensions/index/rtree/node/node_s_mem_dynamic.hpp>
+#include <boost/geometry/extensions/index/rtree/node/node_d_mem_static.hpp>
+#include <boost/geometry/extensions/index/rtree/node/node_s_mem_static.hpp>
 
 #include <boost/geometry/algorithms/expand.hpp>
 
Deleted: sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default.hpp
==============================================================================
--- sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default.hpp	2012-09-29 07:44:21 EDT (Sat, 29 Sep 2012)
+++ (empty file)
@@ -1,324 +0,0 @@
-// Boost.Geometry Index
-//
-// R-tree nodes based on run-time polymorphism, storing std::vectors
-//
-// Copyright (c) 2011-2012 Adam Wulkiewicz, Lodz, Poland.
-//
-// Use, modification and distribution is subject to 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)
-
-#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_HPP
-#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_HPP
-
-#include <vector>
-
-#include <boost/geometry/extensions/index/rtree/node/dynamic_visitor.hpp>
-
-namespace boost { namespace geometry { namespace index {
-
-namespace detail { namespace rtree {
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct dynamic_internal_node<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag>
-    : public dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag>
-{
-    typedef std::vector<
-        std::pair<Box, dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag> *>,
-        typename Allocators::internal_node_elements_allocator_type
-    > elements_type;
-
-    inline dynamic_internal_node(typename Allocators::internal_node_elements_allocator_type & al)
-        : elements(al)
-    {}
-
-    void apply_visitor(dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag, false> & v) { v(*this); }
-    void apply_visitor(dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag, true> & v) const { v(*this); }
-
-    elements_type elements;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct dynamic_leaf<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag>
-    : public dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag>
-{
-    typedef std::vector<
-        Value,
-        typename Allocators::leaf_elements_allocator_type
-    > elements_type;
-
-    inline dynamic_leaf(typename Allocators::leaf_elements_allocator_type & al)
-        : elements(al)
-    {}
-
-    void apply_visitor(dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag, false> & v) { v(*this); }
-    void apply_visitor(dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag, true> & v) const { v(*this); }
-
-    elements_type elements;
-};
-
-// nodes traits
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct node<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag>
-{
-    typedef dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag> type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct internal_node<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag>
-{
-    typedef dynamic_internal_node<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag> type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct leaf<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag>
-{
-    typedef dynamic_leaf<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag> type;
-};
-
-// nodes conversion
-
-template <typename Derived, typename Parameters, typename Value, typename Box, typename Allocators, typename Tag>
-inline Derived & get(dynamic_node<Value, Parameters, Box, Allocators, Tag> & n)
-{
-    assert(dynamic_cast<Derived*>(&n));
-    return static_cast<Derived&>(n);
-}
-
-template <typename Derived, typename Parameters, typename Value, typename Box, typename Allocators, typename Tag>
-inline Derived * get(dynamic_node<Value, Parameters, Box, Allocators, Tag> * n)
-{
-    assert(dynamic_cast<Derived*>(n));
-    return static_cast<Derived*>(n);
-}
-
-// visitor traits
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, bool IsVisitableConst>
-struct visitor<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag, IsVisitableConst>
-{
-    typedef dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_dynamic_tag, IsVisitableConst> type;
-};
-
-template <typename Visitor, typename Visitable>
-inline void apply_visitor(Visitor &v, Visitable & n)
-{
-    n.apply_visitor(v);
-}
-
-// element's indexable type
-
-template <typename Value, typename Translator>
-struct element_indexable_type
-{
-    typedef typename translator::indexable_type<Translator>::type type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag, typename Translator>
-struct element_indexable_type<
-    std::pair<Box, dynamic_node<Value, Parameters, Box, Allocators, Tag> *>,
-    Translator
->
-{
-    typedef Box type;
-};
-
-// element's indexable getter
-
-template <typename Value, typename Translator>
-inline typename Translator::result_type
-element_indexable(Value const& el, Translator const& tr)
-{
-	return tr(el);
-}
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag, typename Translator>
-inline Box const&
-element_indexable(
-    std::pair< Box, dynamic_node<Value, Parameters, Box, Allocators, Tag> *> const& el,
-    Translator const&)
-{
-    return el.first;
-}
-
-// nodes elements
-
-template <typename Node>
-struct elements_type
-{
-	typedef typename Node::elements_type type;
-};
-
-template <typename Node>
-inline typename elements_type<Node>::type &
-elements(Node & n)
-{
-	return n.elements;
-}
-
-template <typename Node>
-inline typename elements_type<Node>::type const&
-elements(Node const& n)
-{
-	return n.elements;
-}
-
-// elements derived type
-template <typename Elements, typename NewValue>
-struct container_from_elements_type
-{
-    typedef std::vector<NewValue> type;
-};
-
-// allocators
-
-template <typename Allocator, typename Value, typename Parameters, typename Box>
-struct allocators<Allocator, Value, Parameters, Box, node_d_mem_dynamic_tag>
-{
-    typedef Allocator allocator_type;
-    typedef typename allocator_type::size_type size_type;
-
-    typedef typename allocator_type::template rebind<
-        typename internal_node<Value, Parameters, Box, allocators, node_d_mem_dynamic_tag>::type
-    >::other internal_node_allocator_type;
-
-    typedef typename allocator_type::template rebind<
-        typename leaf<Value, Parameters, Box, allocators, node_d_mem_dynamic_tag>::type
-    >::other leaf_allocator_type;
-
-    typedef typename allocator_type::template rebind<
-        std::pair<Box, dynamic_node<Value, Parameters, Box, allocators, node_d_mem_dynamic_tag> *>
-    >::other internal_node_elements_allocator_type;
-
-    typedef typename allocator_type::template rebind<
-        Value
-    >::other leaf_elements_allocator_type;
-
-    inline explicit allocators(Allocator alloc)
-        : allocator(alloc)
-        , internal_node_allocator(allocator)
-        , leaf_allocator(allocator)
-        , internal_node_elements_allocator(allocator)
-        , leaf_elements_allocator(allocator)
-    {}
-
-    allocator_type allocator;
-    internal_node_allocator_type internal_node_allocator;
-    leaf_allocator_type leaf_allocator;
-    internal_node_elements_allocator_type internal_node_elements_allocator;
-    leaf_elements_allocator_type leaf_elements_allocator;
-};
-
-// create_node_impl
-
-template <typename Node>
-struct create_node_poly
-{
-    template <typename RetNode, typename AllocNode, typename AllocElems>
-    static inline RetNode * apply(AllocNode & alloc_node, AllocElems & alloc_elems)
-    {
-        Node * p = alloc_node.allocate(1);
-
-        if ( 0 == p )
-            throw std::bad_alloc();
-
-        try
-        {
-            alloc_node.construct(p, Node(alloc_elems));
-        }
-        catch(...)
-        {
-            alloc_node.deallocate(p, 1);
-            throw;
-        }
-
-        return p;
-    }
-};
-
-// destroy_node_impl
-
-template <typename Node>
-struct destroy_node_poly
-{
-    template <typename AllocNode, typename BaseNode>
-    static inline void apply(AllocNode & alloc_node, BaseNode * n)
-    {
-        Node * p = rtree::get<Node>(n);
-        alloc_node.destroy(p);
-        alloc_node.deallocate(p, 1);
-    }
-};
-
-// create_node
-
-template <typename Allocators, typename Value, typename Parameters, typename Box, typename Tag>
-struct create_node<
-    Allocators,
-    dynamic_internal_node<Value, Parameters, Box, Allocators, Tag>
->
-{
-    static inline typename node<Value, Parameters, Box, Allocators, Tag>::type *
-    apply(Allocators & allocators)
-    {
-        return create_node_poly<
-            dynamic_internal_node<Value, Parameters, Box, Allocators, Tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, Tag>::type
-        >(allocators.internal_node_allocator, allocators.internal_node_elements_allocator);
-    }
-};
-
-template <typename Allocators, typename Value, typename Parameters, typename Box, typename Tag>
-struct create_node<
-    Allocators,
-    dynamic_leaf<Value, Parameters, Box, Allocators, Tag>
->
-{
-    static inline typename node<Value, Parameters, Box, Allocators, Tag>::type *
-    apply(Allocators & allocators)
-    {
-        return create_node_poly<
-            dynamic_leaf<Value, Parameters, Box, Allocators, Tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, Tag>::type
-        >(allocators.leaf_allocator, allocators.leaf_elements_allocator);
-    }
-};
-
-// destroy_node
-
-template <typename Allocators, typename Value, typename Parameters, typename Box, typename Tag>
-struct destroy_node<
-    Allocators,
-    dynamic_internal_node<Value, Parameters, Box, Allocators, Tag>
->
-{
-    static inline void apply(Allocators & allocators, typename node<Value, Parameters, Box, Allocators, Tag>::type * n)
-    {
-        destroy_node_poly<
-            dynamic_internal_node<Value, Parameters, Box, Allocators, Tag>
-        >::apply(allocators.internal_node_allocator, n);
-    }
-};
-
-template <typename Allocators, typename Value, typename Parameters, typename Box, typename Tag>
-struct destroy_node<
-    Allocators,
-    dynamic_leaf<Value, Parameters, Box, Allocators, Tag>
->
-{
-    static inline void apply(Allocators & allocators, typename node<Value, Parameters, Box, Allocators, Tag>::type * n)
-    {
-        destroy_node_poly<
-            dynamic_leaf<Value, Parameters, Box, Allocators, Tag>
-        >::apply(allocators.leaf_allocator, n);
-    }
-};
-
-}} // namespace detail::rtree
-
-}}} // namespace boost::geometry::index
-
-#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_HPP
Deleted: sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_static.hpp
==============================================================================
--- sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_static.hpp	2012-09-29 07:44:21 EDT (Sat, 29 Sep 2012)
+++ (empty file)
@@ -1,157 +0,0 @@
-// Boost.Geometry Index
-//
-// R-tree nodes based on runtime-polymorphism, storing static-size containers
-//
-// Copyright (c) 2011-2012 Adam Wulkiewicz, Lodz, Poland.
-//
-// Use, modification and distribution is subject to 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)
-
-#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_STATIC_HPP
-#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_STATIC_HPP
-
-#include <boost/geometry/extensions/index/rtree/node/dynamic_visitor.hpp>
-#include <boost/geometry/extensions/index/pushable_array.hpp>
-
-namespace boost { namespace geometry { namespace index {
-
-namespace detail { namespace rtree {
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct dynamic_internal_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-	: public dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-{
-    typedef index::pushable_array<
-        std::pair<
-            Box,
-            dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag> *
-        >,
-		Parameters::max_elements + 1
-    > elements_type;
-
-    template <typename Dummy>
-    inline dynamic_internal_node(Dummy) {}
-
-    void apply_visitor(dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_static_tag, false> & v) { v(*this); }
-    void apply_visitor(dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_static_tag, true> & v) const { v(*this); }
-
-    elements_type elements;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct dynamic_leaf<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-	: public dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-{
-    typedef index::pushable_array<Value, Parameters::max_elements + 1> elements_type;
-
-    template <typename Dummy>
-    inline dynamic_leaf(Dummy) {}
-
-    void apply_visitor(dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_static_tag, false> & v) { v(*this); }
-    void apply_visitor(dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_static_tag, true> & v) const { v(*this); }
-
-    elements_type elements;
-};
-
-// nodes traits
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-{
-    typedef dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag> type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct internal_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-{
-    typedef dynamic_internal_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag> type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct leaf<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-{
-    typedef dynamic_leaf<Value, Parameters, Box, Allocators, node_d_mem_static_tag> type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, bool IsVisitableConst>
-struct visitor<Value, Parameters, Box, Allocators, node_d_mem_static_tag, IsVisitableConst>
-{
-    typedef dynamic_visitor<Value, Parameters, Box, Allocators, node_d_mem_static_tag, IsVisitableConst> type;
-};
-
-// elements derived type
-template <typename OldValue, size_t N, typename NewValue>
-struct container_from_elements_type<index::pushable_array<OldValue, N>, NewValue>
-{
-    typedef index::pushable_array<NewValue, N> type;
-};
-
-// allocators
-
-template <typename Allocator, typename Value, typename Parameters, typename Box>
-struct allocators<Allocator, Value, Parameters, Box, node_d_mem_static_tag>
-{
-    typedef Allocator allocator_type;
-    typedef typename allocator_type::size_type size_type;
-
-    typedef typename allocator_type::template rebind<
-        typename internal_node<Value, Parameters, Box, allocators, node_d_mem_static_tag>::type
-    >::other internal_node_allocator_type;
-
-    typedef typename allocator_type::template rebind<
-        typename leaf<Value, Parameters, Box, allocators, node_d_mem_static_tag>::type
-    >::other leaf_allocator_type;
-
-    inline explicit allocators(Allocator alloc)
-        : allocator(alloc)
-        , internal_node_allocator(allocator)
-        , leaf_allocator(allocator)
-    {}
-
-    allocator_type allocator;
-    internal_node_allocator_type internal_node_allocator;
-    leaf_allocator_type leaf_allocator;
-};
-
-// create_node
-
-template <typename Allocators, typename Value, typename Parameters, typename Box>
-struct create_node<
-    Allocators,
-    dynamic_internal_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
->
-{
-    static inline typename node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>::type *
-    apply(Allocators & allocators)
-    {
-        return create_node_poly<
-            dynamic_internal_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>::type
-        >(allocators.internal_node_allocator, allocators.internal_node_allocator);
-    }
-};
-
-template <typename Allocators, typename Value, typename Parameters, typename Box>
-struct create_node<
-    Allocators,
-    dynamic_leaf<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
->
-{
-    static inline typename node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>::type *
-    apply(Allocators & allocators)
-    {
-        return create_node_poly<
-            dynamic_leaf<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>::type
-        >(allocators.leaf_allocator, allocators.leaf_allocator);
-    }
-};
-
-}} // namespace detail::rtree
-
-}}} // namespace boost::geometry::index
-
-#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_STATIC_HPP
Deleted: sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_static_variant.hpp
==============================================================================
--- sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_static_variant.hpp	2012-09-29 07:44:21 EDT (Sat, 29 Sep 2012)
+++ (empty file)
@@ -1,151 +0,0 @@
-// Boost.Geometry Index
-//
-// R-tree nodes based on Boost.Variant, storing static-size containers
-//
-// Copyright (c) 2011-2012 Adam Wulkiewicz, Lodz, Poland.
-//
-// Use, modification and distribution is subject to 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)
-
-#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_STATIC_VARIANT_HPP
-#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_STATIC_VARIANT_HPP
-
-#include <vector>
-#include <boost/variant.hpp>
-
-namespace boost { namespace geometry { namespace index {
-
-namespace detail { namespace rtree {
-
-// nodes default types
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct internal_node_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-{
-    typedef index::pushable_array<
-        std::pair<
-            Box,
-            typename node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>::type *
-        >,
-        Parameters::max_elements + 1
-    > elements_type;
-
-    template <typename Dummy>
-    inline internal_node_variant(Dummy) {}
-
-    elements_type elements;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct leaf_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-{
-    typedef index::pushable_array<Value, Parameters::max_elements + 1> elements_type;
-
-    template <typename Dummy>
-    inline leaf_variant(Dummy) {}
-
-    elements_type elements;
-};
-
-// nodes traits
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-{
-	typedef boost::variant<
-		leaf_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag>,
-		internal_node_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-	> type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct internal_node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-{
-    typedef internal_node_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag> type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct leaf<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-{
-    typedef leaf_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag> type;
-};
-
-// visitor traits
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, bool IsVisitableConst>
-struct visitor<Value, Parameters, Box, Allocators, node_s_mem_static_tag, IsVisitableConst>
-{
-    typedef static_visitor<> type;
-};
-
-// allocators
-
-template <typename Allocator, typename Value, typename Parameters, typename Box>
-struct allocators<Allocator, Value, Parameters, Box, node_s_mem_static_tag>
-{
-    typedef Allocator allocator_type;
-    typedef typename allocator_type::size_type size_type;
-
-    typedef typename allocator_type::template rebind<
-        typename node<Value, Parameters, Box, allocators, node_s_mem_static_tag>::type
-    >::other node_allocator_type;
-
-    typedef typename allocator_type::template rebind<
-        std::pair<Box, typename node<Value, Parameters, Box, allocators, node_s_mem_static_tag>::type *>
-    >::other internal_node_elements_allocator_type;
-
-    typedef typename allocator_type::template rebind<
-        Value
-    >::other leaf_elements_allocator_type;
-
-    inline explicit allocators(Allocator alloc)
-        : allocator(alloc)
-        , node_allocator(allocator)
-    {}
-
-    allocator_type allocator;
-    node_allocator_type node_allocator;
-};
-
-// create_node
-
-template <typename Allocators, typename Value, typename Parameters, typename Box>
-struct create_node<
-    Allocators,
-    internal_node_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
->
-{
-    static inline typename node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>::type *
-    apply(Allocators & allocators)
-    {
-        return create_node_variant<
-            internal_node_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>::type
-        >(allocators.node_allocator, allocators.node_allocator);
-    }
-};
-
-template <typename Allocators, typename Value, typename Parameters, typename Box>
-struct create_node<
-    Allocators,
-    leaf_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
->
-{
-    static inline typename node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>::type *
-    apply(Allocators & allocators)
-    {
-        return create_node_variant<
-            leaf_variant<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>::type
-        >(allocators.node_allocator, allocators.node_allocator);
-    }
-};
-
-}} // namespace detail::rtree
-
-}}} // namespace boost::geometry::index
-
-#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_STATIC_VARIANT_HPP
Deleted: sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_variant.hpp
==============================================================================
--- sandbox-branches/geometry/index_dev/boost/geometry/extensions/index/rtree/node/node_default_variant.hpp	2012-09-29 07:44:21 EDT (Sat, 29 Sep 2012)
+++ (empty file)
@@ -1,307 +0,0 @@
-// Boost.Geometry Index
-//
-// R-tree nodes based on Boost.Variant, storing std::vectors
-//
-// Copyright (c) 2011-2012 Adam Wulkiewicz, Lodz, Poland.
-//
-// Use, modification and distribution is subject to 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)
-
-#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_VARIANT_HPP
-#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_VARIANT_HPP
-
-#include <vector>
-#include <boost/variant.hpp>
-
-namespace boost { namespace geometry { namespace index {
-
-namespace detail { namespace rtree {
-
-// nodes default types
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag>
-struct internal_node_variant
-{
-    typedef std::vector<
-        std::pair<
-            Box,
-            typename node<Value, Parameters, Box, Allocators, Tag>::type *
-        >,
-        typename Allocators::internal_node_elements_allocator_type
-    > elements_type;
-
-    inline internal_node_variant(typename Allocators::internal_node_elements_allocator_type & al)
-        : elements(al)
-    {}
-
-    elements_type elements;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag>
-struct leaf_variant
-{
-    typedef std::vector<
-        Value,
-        typename Allocators::leaf_elements_allocator_type
-    > elements_type;
-
-    inline leaf_variant(typename Allocators::leaf_elements_allocator_type & al)
-        : elements(al)
-    {}
-
-    elements_type elements;
-};
-
-// nodes traits
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct node<Value, Parameters, Box, Allocators, node_s_mem_dynamic_tag>
-{
-	typedef boost::variant<
-		leaf_variant<Value, Parameters, Box, Allocators, node_s_mem_dynamic_tag>,
-		internal_node_variant<Value, Parameters, Box, Allocators, node_s_mem_dynamic_tag>
-	> type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct internal_node<Value, Parameters, Box, Allocators, node_s_mem_dynamic_tag>
-{
-    typedef internal_node_variant<Value, Parameters, Box, Allocators, node_s_mem_dynamic_tag> type;
-};
-
-template <typename Value, typename Parameters, typename Box, typename Allocators>
-struct leaf<Value, Parameters, Box, Allocators, node_s_mem_dynamic_tag>
-{
-    typedef leaf_variant<Value, Parameters, Box, Allocators, node_s_mem_dynamic_tag> type;
-};
-
-// nodes conversion
-
-template <typename V, typename Value, typename Parameters, typename Box, typename Allocators, typename Tag>
-inline V & get(
-	boost::variant<
-		leaf_variant<Value, Parameters, Box, Allocators, Tag>,
-		internal_node_variant<Value, Parameters, Box, Allocators, Tag>
-	> &v
-)
-{
-    return boost::get<V>(v);
-}
-
-template <typename V, typename Value, typename Parameters, typename Box, typename Allocators, typename Tag>
-inline V * get(
-	boost::variant<
-		leaf_variant<Value, Parameters, Box, Allocators, Tag>,
-		internal_node_variant<Value, Parameters, Box, Allocators, Tag>
-	> *v
-)
-{
-    return boost::get<V>(v);
-}
-
-// visitor traits
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, bool IsVisitableConst>
-struct visitor<Value, Parameters, Box, Allocators, node_s_mem_dynamic_tag, IsVisitableConst>
-{
-    typedef static_visitor<> type;
-};
-
-template <typename Visitor, typename Value, typename Parameters, typename Box, typename Allocators, typename Tag>
-inline void apply_visitor(Visitor & v,
-						  boost::variant<
-							  leaf_variant<Value, Parameters, Box, Allocators, Tag>,
-							  internal_node_variant<Value, Parameters, Box, Allocators, Tag>
-						  > & n)
-{
-    boost::apply_visitor(v, n);
-}
-
-template <typename Visitor, typename Value, typename Parameters, typename Box, typename Allocators, typename Tag>
-inline void apply_visitor(Visitor & v,
-						  boost::variant<
-							  leaf_variant<Value, Parameters, Box, Allocators, Tag>,
-							  internal_node_variant<Value, Parameters, Box, Allocators, Tag>
-						  > const& n)
-{
-	boost::apply_visitor(v, n);
-}
-
-// element's indexable type
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag, typename Translator>
-struct element_indexable_type<
-    std::pair<
-        Box,
-        boost::variant<
-            leaf_variant<Value, Parameters, Box, Allocators, Tag>,
-            internal_node_variant<Value, Parameters, Box, Allocators, Tag>
-        > *
-    >,
-    Translator
->
-{
-    typedef Box type;
-};
-
-// element's indexable getter
-
-template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag, typename Translator>
-inline Box const&
-element_indexable(std::pair<
-					  Box,
-					  boost::variant<
-						  leaf_variant<Value, Parameters, Box, Allocators, Tag>,
-						  internal_node_variant<Value, Parameters, Box, Allocators, Tag>
-					  > *
-				  > const& el,
-				  Translator const&)
-{
-    return el.first;
-}
-
-// allocators
-
-template <typename Allocator, typename Value, typename Parameters, typename Box>
-struct allocators<Allocator, Value, Parameters, Box, node_s_mem_dynamic_tag>
-{
-    typedef Allocator allocator_type;
-    typedef typename allocator_type::size_type size_type;
-
-    typedef typename allocator_type::template rebind<
-        typename node<Value, Parameters, Box, allocators, node_s_mem_dynamic_tag>::type
-    >::other node_allocator_type;
-
-    typedef typename allocator_type::template rebind<
-        std::pair<Box, typename node<Value, Parameters, Box, allocators, node_s_mem_dynamic_tag>::type *>
-    >::other internal_node_elements_allocator_type;
-
-    typedef typename allocator_type::template rebind<
-        Value
-    >::other leaf_elements_allocator_type;
-
-    inline explicit allocators(Allocator alloc)
-        : allocator(alloc)
-        , node_allocator(allocator)
-        , internal_node_elements_allocator(allocator)
-        , leaf_elements_allocator(allocator)
-    {}
-
-    allocator_type allocator;
-    node_allocator_type node_allocator;
-    internal_node_elements_allocator_type internal_node_elements_allocator;
-    leaf_elements_allocator_type leaf_elements_allocator;
-};
-
-// create_node_variant
-
-template <typename Node>
-struct create_node_variant
-{
-    template <typename RetNode, typename AllocNode, typename AllocElems>
-    static inline RetNode * apply(AllocNode & alloc_node, AllocElems & alloc_elems)
-    {
-        RetNode * p = alloc_node.allocate(1);
-
-        if ( 0 == p )
-            throw std::bad_alloc();
-
-        try
-        {
-            alloc_node.construct(p, Node(alloc_elems));
-        }
-        catch(...)
-        {
-            alloc_node.deallocate(p, 1);
-            throw;
-        }
-
-        return p;
-    }
-};
-
-// destroy_node_variant
-
-template <typename Node>
-struct destroy_node_variant
-{
-    template <typename AllocNode, typename BaseNode>
-    static inline void apply(AllocNode & alloc_node, BaseNode * n)
-    {
-        alloc_node.destroy(n);
-        alloc_node.deallocate(n, 1);
-    }
-};
-
-// create_node
-
-template <typename Allocators, typename Value, typename Parameters, typename Box, typename Tag>
-struct create_node<
-    Allocators,
-    internal_node_variant<Value, Parameters, Box, Allocators, Tag>
->
-{
-    static inline typename node<Value, Parameters, Box, Allocators, Tag>::type *
-    apply(Allocators & allocators)
-    {
-        return create_node_variant<
-            internal_node_variant<Value, Parameters, Box, Allocators, Tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, Tag>::type
-        >(allocators.node_allocator, allocators.internal_node_elements_allocator);
-    }
-};
-
-template <typename Allocators, typename Value, typename Parameters, typename Box, typename Tag>
-struct create_node<
-    Allocators,
-    leaf_variant<Value, Parameters, Box, Allocators, Tag>
->
-{
-    static inline typename node<Value, Parameters, Box, Allocators, Tag>::type *
-    apply(Allocators & allocators)
-    {
-        return create_node_variant<
-            leaf_variant<Value, Parameters, Box, Allocators, Tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, Tag>::type
-        >(allocators.node_allocator, allocators.leaf_elements_allocator);
-    }
-};
-
-// destroy_node
-
-template <typename Allocators, typename Value, typename Parameters, typename Box, typename Tag>
-struct destroy_node<
-    Allocators,
-    internal_node_variant<Value, Parameters, Box, Allocators, Tag>
->
-{
-    static inline void apply(Allocators & allocators, typename node<Value, Parameters, Box, Allocators, Tag>::type * n)
-    {
-        destroy_node_variant<
-            internal_node_variant<Value, Parameters, Box, Allocators, Tag>
-        >::apply(allocators.node_allocator, n);
-    }
-};
-
-template <typename Allocators, typename Value, typename Parameters, typename Box, typename Tag>
-struct destroy_node<
-    Allocators,
-    leaf_variant<Value, Parameters, Box, Allocators, Tag>
->
-{
-    static inline void apply(Allocators & allocators, typename node<Value, Parameters, Box, Allocators, Tag>::type * n)
-    {
-        destroy_node_variant<
-            leaf_variant<Value, Parameters, Box, Allocators, Tag>
-        >::apply(allocators.node_allocator, n);
-    }
-};
-
-}} // namespace detail::rtree
-
-}}} // namespace boost::geometry::index
-
-#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_NODE_NODE_DEFAULT_VARIANT_HPP