# fidl::internal_wavl::WAVLTreeNodeStateBase

## Summary

### Inheritance

Inherits from: [fidl::internal_wavl::internal::CommonNodeStateBase\< WAVLTreeNodeStateBase\< PtrType_, Options, RankType \> \>](https://fuchsia.dev/reference/cpp/struct/fidl/internal-wavl/internal/common-node-state-base.md.txt)

| ### Constructors and Destructors ||
|---|---|
| `WAVLTreeNodeStateBase()` ||
| `WAVLTreeNodeStateBase(const WAVLTreeNodeStateBase & other)` ||
| `WAVLTreeNodeStateBase(WAVLTreeNodeStateBase && other)` ||
| `~WAVLTreeNodeStateBase()` ||

| ### Public types ||
|---|---|
| `PtrTraits` | using `internal::ContainerPtrTraits< PtrType_ >` |
| `PtrType` | using `PtrType_` |

| ### Public static attributes ||
|---|---|
| `kNodeOptions = Options` | `constexpr NodeOptions` |

| ### Friend classes ||
|---|---|
| `WAVLTree` | `friend class` |
| `tests::intrusive_containers::WAVLBalanceTestObserver` | `friend class` |
| `tests::intrusive_containers::WAVLTreeChecker` | `friend class` |

| ### Protected attributes ||
|---|---|
| `left_ = nullptr` | `PtrTraits::RawPtrType` |
| `parent_ = nullptr` | `PtrTraits::RawPtrType` |
| `rank_ {}` | `RankType` |
| `right_ = nullptr` | `PtrTraits::RawPtrType` |

| ### Public functions ||
|---|---|
| `InContainer() const ` | `bool` |
| `IsValid() const ` | `bool` |
| `operator=(const WAVLTreeNodeStateBase & other)` | `WAVLTreeNodeStateBase &` |
| `operator=(WAVLTreeNodeStateBase && other)` | `WAVLTreeNodeStateBase &` |

## Public types

### PtrTraits

```c++
internal::ContainerPtrTraits< PtrType_ > fidl::internal_wavl::WAVLTreeNodeStateBase::PtrTraits
```

### PtrType

```c++
PtrType_ fidl::internal_wavl::WAVLTreeNodeStateBase::PtrType
```

## Public static attributes

### kNodeOptions

```c++
constexpr NodeOptions fidl::internal_wavl::WAVLTreeNodeStateBase::kNodeOptions = Options
```

## Friend classes

### WAVLTree

```c++
friend class fidl::internal_wavl::WAVLTreeNodeStateBase::WAVLTree
```

### tests::intrusive_containers::WAVLBalanceTestObserver

```c++
friend class fidl::internal_wavl::WAVLTreeNodeStateBase::tests::intrusive_containers::WAVLBalanceTestObserver
```

### tests::intrusive_containers::WAVLTreeChecker

```c++
friend class fidl::internal_wavl::WAVLTreeNodeStateBase::tests::intrusive_containers::WAVLTreeChecker
```

## Protected attributes

### left_

```c++
PtrTraits::RawPtrType fidl::internal_wavl::WAVLTreeNodeStateBase::left_ = nullptr
```

### parent_

```c++
PtrTraits::RawPtrType fidl::internal_wavl::WAVLTreeNodeStateBase::parent_ = nullptr
```

### rank_

```c++
RankType fidl::internal_wavl::WAVLTreeNodeStateBase::rank_ {}
```

### right_

```c++
PtrTraits::RawPtrType fidl::internal_wavl::WAVLTreeNodeStateBase::right_ = nullptr
```

## Public functions

### InContainer

```c++
bool fidl::internal_wavl::WAVLTreeNodeStateBase::InContainer() const 
```

### IsValid

```c++
bool fidl::internal_wavl::WAVLTreeNodeStateBase::IsValid() const 
```

### WAVLTreeNodeStateBase

```c++
 fidl::internal_wavl::WAVLTreeNodeStateBase::WAVLTreeNodeStateBase()=default
```

### WAVLTreeNodeStateBase

```c++
 fidl::internal_wavl::WAVLTreeNodeStateBase::WAVLTreeNodeStateBase(
  const WAVLTreeNodeStateBase & other
)
```

### WAVLTreeNodeStateBase

```c++
 fidl::internal_wavl::WAVLTreeNodeStateBase::WAVLTreeNodeStateBase(
  WAVLTreeNodeStateBase && other
)
```

### operator=

```c++
WAVLTreeNodeStateBase & fidl::internal_wavl::WAVLTreeNodeStateBase::operator=(
  const WAVLTreeNodeStateBase & other
)
```

### operator=

```c++
WAVLTreeNodeStateBase & fidl::internal_wavl::WAVLTreeNodeStateBase::operator=(
  WAVLTreeNodeStateBase && other
)
```

### \~WAVLTreeNodeStateBase

```c++
 fidl::internal_wavl::WAVLTreeNodeStateBase::~WAVLTreeNodeStateBase()
```