//! <b>Complexity</b>: Average constant time.
//!
//! <b>Throws</b>: Nothing.
- static node_ptr next_node(const node_ptr & node)
+ static node_ptr next_node(node_ptr node) BOOST_NOEXCEPT
{
node_ptr const n_right(NodeTraits::get_right(node));
if(n_right){
//! <b>Complexity</b>: Average constant time.
//!
//! <b>Throws</b>: Nothing.
- static node_ptr prev_node(const node_ptr & node)
+ static node_ptr prev_node(node_ptr node) BOOST_NOEXCEPT
{
if(is_header(node)){
- //return NodeTraits::get_right(node);
- return maximum(NodeTraits::get_parent(node));
+ return NodeTraits::get_right(node);
}
else if(NodeTraits::get_left(node)){
return maximum(NodeTraits::get_left(node));
//! <b>Complexity</b>: Constant.
//!
//! <b>Throws</b>: Nothing.
- static bool is_header(const const_node_ptr & p)
+ static bool is_header(const_node_ptr p) BOOST_NOEXCEPT
{
node_ptr p_left (NodeTraits::get_left(p));
node_ptr p_right(NodeTraits::get_right(p));
//! <b>Complexity</b>: Logarithmic.
//!
//! <b>Throws</b>: Nothing.
- static node_ptr get_header(const const_node_ptr & node)
+ static node_ptr get_header(const_node_ptr node)
{
node_ptr n(detail::uncast(node));
node_ptr p(NodeTraits::get_parent(node));