mirror of
https://github.com/ETLCPP/etl.git
synced 2026-04-30 19:09:10 +08:00
Rename 'leaf' to 'child' in intrusive_links.h (#1373)
* Print test names at test time (#1343) * Rename 'leaf' to 'child' in intrusive_links.h Recent versions of the Tasking TriCore compiler treat 'leaf' as a reserved C++ keyword, causing compilation failures in ETL. --------- Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de> Co-authored-by: Maksim Danilov <maksim.danilov@accenture.com> Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
This commit is contained in:
parent
982adecca4
commit
823f2493b4
@ -1141,52 +1141,56 @@ namespace etl
|
||||
//***************************************************************************
|
||||
// Reference, Reference
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_left(TLink& parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_left(TLink& parent, TLink& child)
|
||||
{
|
||||
parent.etl_left = &leaf;
|
||||
leaf.etl_parent = &parent;
|
||||
parent.etl_left = &child;
|
||||
child.etl_parent = &parent;
|
||||
}
|
||||
|
||||
//***********************************
|
||||
// Pointer, Pointer
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_left(TLink* parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_left(TLink* parent, TLink* child)
|
||||
{
|
||||
if (parent != ETL_NULLPTR)
|
||||
{
|
||||
parent->etl_left = leaf;
|
||||
parent->etl_left = child;
|
||||
}
|
||||
|
||||
if (leaf != ETL_NULLPTR)
|
||||
if (child != ETL_NULLPTR)
|
||||
{
|
||||
leaf->etl_parent = parent;
|
||||
child->etl_parent = parent;
|
||||
}
|
||||
}
|
||||
|
||||
//***********************************
|
||||
// Reference, Pointer
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_left(TLink& parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_left(TLink& parent, TLink* child)
|
||||
{
|
||||
parent.etl_left = leaf;
|
||||
parent.etl_left = child;
|
||||
|
||||
if (leaf != ETL_NULLPTR)
|
||||
if (child != ETL_NULLPTR)
|
||||
{
|
||||
leaf->etl_parent = &parent;
|
||||
child->etl_parent = &parent;
|
||||
}
|
||||
}
|
||||
|
||||
//***********************************
|
||||
// Pointer, Reference
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_left(TLink* parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_left(TLink* parent, TLink& child)
|
||||
{
|
||||
if (parent != ETL_NULLPTR)
|
||||
{
|
||||
parent->etl_left = &leaf;
|
||||
parent->etl_left = &child;
|
||||
}
|
||||
|
||||
leaf.etl_parent = parent;
|
||||
child.etl_parent = parent;
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
@ -1194,49 +1198,53 @@ namespace etl
|
||||
// Sets the right link.
|
||||
//***************************************************************************
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_right(TLink& parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_right(TLink& parent, TLink& child)
|
||||
{
|
||||
parent.etl_right = &leaf;
|
||||
leaf.etl_parent = &parent;
|
||||
parent.etl_right = &child;
|
||||
child.etl_parent = &parent;
|
||||
}
|
||||
|
||||
//***********************************
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_right(TLink* parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_right(TLink* parent, TLink* child)
|
||||
{
|
||||
if (parent != ETL_NULLPTR)
|
||||
{
|
||||
parent->etl_right = leaf;
|
||||
parent->etl_right = child;
|
||||
}
|
||||
|
||||
if (leaf != ETL_NULLPTR)
|
||||
if (child != ETL_NULLPTR)
|
||||
{
|
||||
leaf->etl_parent = parent;
|
||||
child->etl_parent = parent;
|
||||
}
|
||||
}
|
||||
|
||||
//***********************************
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_right(TLink& parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_right(TLink& parent, TLink* child)
|
||||
{
|
||||
parent.etl_right = leaf;
|
||||
parent.etl_right = child;
|
||||
|
||||
if (leaf != ETL_NULLPTR)
|
||||
if (child != ETL_NULLPTR)
|
||||
{
|
||||
leaf->etl_parent = &parent;
|
||||
child->etl_parent = &parent;
|
||||
}
|
||||
}
|
||||
|
||||
//***********************************
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_right(TLink* parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_right(TLink* parent, TLink& child)
|
||||
{
|
||||
if (parent != ETL_NULLPTR)
|
||||
{
|
||||
parent->etl_right = &leaf;
|
||||
parent->etl_right = &child;
|
||||
}
|
||||
|
||||
leaf.etl_parent = parent;
|
||||
child.etl_parent = parent;
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
@ -1244,30 +1252,31 @@ namespace etl
|
||||
//***************************************************************************
|
||||
// Reference, Reference
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_left(TLink& parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate_left(TLink& parent, TLink& child)
|
||||
{
|
||||
TLink* grandparent = parent.etl_parent;
|
||||
|
||||
parent.etl_right = leaf.etl_left;
|
||||
parent.etl_right = child.etl_left;
|
||||
|
||||
if (parent.etl_right != ETL_NULLPTR)
|
||||
{
|
||||
parent.etl_right->etl_parent = &parent;
|
||||
}
|
||||
|
||||
leaf.etl_parent = grandparent;
|
||||
parent.etl_parent = &leaf;
|
||||
leaf.etl_left = &parent;
|
||||
child.etl_parent = grandparent;
|
||||
parent.etl_parent = &child;
|
||||
child.etl_left = &parent;
|
||||
|
||||
if (grandparent != ETL_NULLPTR)
|
||||
{
|
||||
if (grandparent->etl_left == &parent)
|
||||
{
|
||||
grandparent->etl_left = &leaf;
|
||||
grandparent->etl_left = &child;
|
||||
}
|
||||
else if (grandparent->etl_right == &parent)
|
||||
{
|
||||
grandparent->etl_right = &leaf;
|
||||
grandparent->etl_right = &child;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1275,33 +1284,36 @@ namespace etl
|
||||
//***********************************
|
||||
// Pointer, Pointer
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_left(TLink* parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate_left(TLink* parent, TLink* child)
|
||||
{
|
||||
if ((parent != ETL_NULLPTR) && (leaf != ETL_NULLPTR))
|
||||
if ((parent != ETL_NULLPTR) && (child != ETL_NULLPTR))
|
||||
{
|
||||
link_rotate_left(*parent, *leaf);
|
||||
link_rotate_left(*parent, *child);
|
||||
}
|
||||
}
|
||||
|
||||
//***********************************
|
||||
// Reference, Pointer
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_left(TLink& parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate_left(TLink& parent, TLink* child)
|
||||
{
|
||||
if (leaf != ETL_NULLPTR)
|
||||
if (child != ETL_NULLPTR)
|
||||
{
|
||||
link_rotate_left(parent, *leaf);
|
||||
link_rotate_left(parent, *child);
|
||||
}
|
||||
}
|
||||
|
||||
//***********************************
|
||||
// Pointer, Reference
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_left(TLink* parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate_left(TLink* parent, TLink& child)
|
||||
{
|
||||
if (parent != ETL_NULLPTR)
|
||||
{
|
||||
link_rotate_left(*parent, leaf);
|
||||
link_rotate_left(*parent, child);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1309,59 +1321,63 @@ namespace etl
|
||||
// link_rotate_right
|
||||
//***************************************************************************
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_right(TLink& parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate_right(TLink& parent, TLink& child)
|
||||
{
|
||||
TLink* grandparent = parent.etl_parent;
|
||||
|
||||
parent.etl_left = leaf.etl_right;
|
||||
parent.etl_left = child.etl_right;
|
||||
|
||||
if (parent.etl_left != ETL_NULLPTR)
|
||||
{
|
||||
parent.etl_left->etl_parent = &parent;
|
||||
}
|
||||
|
||||
leaf.etl_parent = grandparent;
|
||||
parent.etl_parent = &leaf;
|
||||
leaf.etl_right = &parent;
|
||||
child.etl_parent = grandparent;
|
||||
parent.etl_parent = &child;
|
||||
child.etl_right = &parent;
|
||||
|
||||
if (grandparent != ETL_NULLPTR)
|
||||
{
|
||||
if (grandparent->etl_left == &parent)
|
||||
{
|
||||
grandparent->etl_left = &leaf;
|
||||
grandparent->etl_left = &child;
|
||||
}
|
||||
else if (grandparent->etl_right == &parent)
|
||||
{
|
||||
grandparent->etl_right = &leaf;
|
||||
grandparent->etl_right = &child;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_right(TLink* parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate_right(TLink* parent, TLink* child)
|
||||
{
|
||||
if ((parent != ETL_NULLPTR) && (leaf != ETL_NULLPTR))
|
||||
if ((parent != ETL_NULLPTR) && (child != ETL_NULLPTR))
|
||||
{
|
||||
link_rotate_right(*parent, *leaf);
|
||||
link_rotate_right(*parent, *child);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_right(TLink& parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate_right(TLink& parent, TLink* child)
|
||||
{
|
||||
if (leaf != ETL_NULLPTR)
|
||||
if (child != ETL_NULLPTR)
|
||||
{
|
||||
link_rotate_right(parent, *leaf);
|
||||
link_rotate_right(parent, *child);
|
||||
}
|
||||
}
|
||||
|
||||
//***********************************
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_right(TLink* parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate_right(TLink* parent, TLink& child)
|
||||
{
|
||||
if (parent != ETL_NULLPTR)
|
||||
{
|
||||
link_rotate_right(*parent, leaf);
|
||||
link_rotate_right(*parent, child);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1371,15 +1387,16 @@ namespace etl
|
||||
// Reference, Reference
|
||||
/// Automatically detects whether a left or right rotate is expected.
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate(TLink& parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate(TLink& parent, TLink& child)
|
||||
{
|
||||
if (parent.etl_left == &leaf)
|
||||
if (parent.etl_left == &child)
|
||||
{
|
||||
etl::link_rotate_right(parent, leaf);
|
||||
etl::link_rotate_right(parent, child);
|
||||
}
|
||||
else
|
||||
{
|
||||
etl::link_rotate_left(parent, leaf);
|
||||
etl::link_rotate_left(parent, child);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1387,17 +1404,18 @@ namespace etl
|
||||
// Pointer, Pointer
|
||||
/// Automatically detects whether a left or right rotate is expected.
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate(TLink* parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate(TLink* parent, TLink* child)
|
||||
{
|
||||
if ((parent != ETL_NULLPTR) && (leaf != ETL_NULLPTR))
|
||||
if ((parent != ETL_NULLPTR) && (child != ETL_NULLPTR))
|
||||
{
|
||||
if (parent->etl_left == leaf)
|
||||
if (parent->etl_left == child)
|
||||
{
|
||||
etl::link_rotate_right(*parent, *leaf);
|
||||
etl::link_rotate_right(*parent, *child);
|
||||
}
|
||||
else
|
||||
{
|
||||
etl::link_rotate_left(*parent, *leaf);
|
||||
etl::link_rotate_left(*parent, *child);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1406,17 +1424,18 @@ namespace etl
|
||||
// Reference, Pointer
|
||||
/// Automatically detects whether a left or right rotate is expected.
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate(TLink& parent, TLink* leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate(TLink& parent, TLink* child)
|
||||
{
|
||||
if (leaf != ETL_NULLPTR)
|
||||
if (child != ETL_NULLPTR)
|
||||
{
|
||||
if (parent.etl_left == leaf)
|
||||
if (parent.etl_left == child)
|
||||
{
|
||||
etl::link_rotate_right(parent, *leaf);
|
||||
etl::link_rotate_right(parent, *child);
|
||||
}
|
||||
else
|
||||
{
|
||||
etl::link_rotate_left(parent, *leaf);
|
||||
etl::link_rotate_left(parent, *child);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1425,17 +1444,18 @@ namespace etl
|
||||
// Pointer, Reference
|
||||
/// Automatically detects whether a left or right rotate is expected.
|
||||
template <typename TLink>
|
||||
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate(TLink* parent, TLink& leaf)
|
||||
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
|
||||
link_rotate(TLink* parent, TLink& child)
|
||||
{
|
||||
if (parent != ETL_NULLPTR)
|
||||
{
|
||||
if (parent->etl_left == &leaf)
|
||||
if (parent->etl_left == &child)
|
||||
{
|
||||
etl::link_rotate_right(*parent, leaf);
|
||||
etl::link_rotate_right(*parent, child);
|
||||
}
|
||||
else
|
||||
{
|
||||
etl::link_rotate_left(*parent, leaf);
|
||||
etl::link_rotate_left(*parent, child);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user