|
Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
|


Go to the source code of this file.
Macros | |
| #define | _RWSTD_TREE_ITER(n) __rw_tree_iter <_TypeT, _DiffT, _Ptr##n, _Ref##n, _Node> |
| #define | _ITER_NODE(it) (_ITER_BASE (it)._C_node) |
| #define | _RWSTD_RB_TREE_ITER typename __rb_tree<_Key, _Val, _KeyOf, _Comp, _Alloc>::iterator |
Functions | |
| _RWSTD_NAMESPACE (__rw) | |
| #define _ITER_NODE | ( | it | ) | (_ITER_BASE (it)._C_node) |
| #define _RWSTD_RB_TREE_ITER typename __rb_tree<_Key, _Val, _KeyOf, _Comp, _Alloc>::iterator |
| _RWSTD_NAMESPACE | ( | __rw | ) |
_tree.h - Declarations for the Standard Library tree classes
This is an internal header file used to implement the C++ Standard Library. It should never be #included directly by a program.
$Id$
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 1994-2006 Rogue Wave Software.
Copyright (c) 1994 Hewlett-Packard Company
Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Hewlett-Packard Company makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. Red-black tree class, designed for use in implementing associative containers (set, multiset, map, and multimap). The insertion and deletion algorithms are based on those in Cormen, Leiserson, and Rivest, Introduction to Algorithms (MIT Press, 1990), except that:
(1) the header cell is maintained with links not only to the root but also to the leftmost node of the tree, to enable constant time begin(), and to the rightmost node of the tree, to enable linear time performance when used with the generic set algorithms (set_union, etc.);
(2) when a node being deleted has two children its successor node is relinked into its place, rather than copied, so that the only iterators invalidated are those referring to the deleted node.