Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZStd::intrusive_multiset_node< T > Struct Template Reference

#include <intrusive_set.h>

Public Types

enum  Bits { BIT_COLOR = 0 , BIT_PARENT_SIDE = 1 , BIT_MASK = 3 }
 
typedef int ColorType
 
typedef int SideType
 
typedef intrusive_multiset_node< T > this_type
 
typedef T * node_ptr_type
 

Public Member Functions

AZ_FORCE_INLINE ColorType getColor () const
 
AZ_FORCE_INLINE void setColor (ColorType color)
 
AZ_FORCE_INLINE SideType getParentSide () const
 
AZ_FORCE_INLINE void setParentSide (SideType side)
 
AZ_FORCE_INLINE T * getParent () const
 
AZ_FORCE_INLINE void setParent (T *parent)
 
AZ_FORCE_INLINE T * prev () const
 
AZ_FORCE_INLINE T * next () const
 

Protected Attributes

T * m_children [2] {}
 
T * m_neighbours [2] {}
 
T * m_parentColorSide {}
 

Friends

template<class U , class Hook , class Compare >
class intrusive_multiset
 

Detailed Description

template<class T>
struct AZStd::intrusive_multiset_node< T >

This is the node you need to include in you objects, if you want to use it in intrusive multi set. You can do that either by inheriting it or add it as a public member. They way you include the node should be in using the appropriate hooks. Check the intrusive_multi_set AZStdExamples.

Member Enumeration Documentation

◆ Bits

template<class T >
enum AZStd::intrusive_multiset_node::Bits
Enumerator
BIT_COLOR 

Color of the node.

BIT_PARENT_SIDE 

Store the side of parent Left of Right (order is up to the container)


The documentation for this struct was generated from the following file: