---
title: "ClikaRT::nn::ModuleList"
sidebar_label: "ModuleList"
description: "An indexed list of modules registered under their positions (\"0\", \"1\", ...), so a checkpoint names their weights layers.3.weight. A list has no forward of its own: the owner iterates it."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--class">class</span>

**Header:** `ClikaRT/nn/containers.h`  
**Inherits:** [`ClikaRT::nn::Module`](./Module.md)

An indexed list of modules registered under their positions (`"0"`, `"1"`, ...), so a checkpoint names their weights `layers.3.weight`. A list has no `forward` of its own: the owner iterates it.

## Member functions

### ModuleList() {#ModuleList}

<div class="api-signature">

**`ModuleList`**() `=default`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/containers.h`, line 120

</div>

### ModuleList(shared\_ptr\<Ms\>...) {#ModuleList-2}

<div class="api-signature">

`template <``class...` `Ms``>`<br />`explicit` **`ModuleList`**(`std::shared_ptr<Ms>...` `modules`)

</div>

Constructs from modules, appended in argument order.

<div class="api-declared">

Declared in `ClikaRT/nn/containers.h`, line 124

</div>

### push\_back() {#push_back}

<div class="api-signature">

[`ModuleList`](./ModuleList.md)`&` **`push_back`**(`std::shared_ptr<`[`Module`](./Module.md)`>` `module`)

</div>

Appends `module` under the next position.

<div class="api-declared">

Declared in `ClikaRT/nn/containers.h`, line 129

</div>

### size() {#size}

<div class="api-signature">

`std::size_t` **`size`**() `const`

</div>

The number of modules.

<div class="api-declared">

Declared in `ClikaRT/nn/containers.h`, line 136

</div>

### empty() {#empty}

<div class="api-signature">

`bool` **`empty`**() `const`

</div>

True when the list holds no module.

<div class="api-declared">

Declared in `ClikaRT/nn/containers.h`, line 138

</div>

### operator\[\]() {#operator-subscript}

<div class="api-signature">

`const std::shared_ptr<`[`Module`](./Module.md)`>&` **`operator[]`**(`std::size_t` `index`) `const`

</div>

The module at `index` (unchecked, like a vector).

<div class="api-declared">

Declared in `ClikaRT/nn/containers.h`, line 140

</div>

### modules() {#modules}

<div class="api-signature">

`const std::vector<std::shared_ptr<`[`Module`](./Module.md)`>>&` **`modules`**() `const`

</div>

The modules in order.

<div class="api-declared">

Declared in `ClikaRT/nn/containers.h`, line 144

</div>

### begin() {#begin}

<div class="api-signature">

`std::vector<std::shared_ptr<`[`Module`](./Module.md)`>>::const_iterator` **`begin`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/containers.h`, line 145

</div>

### end() {#end}

<div class="api-signature">

`std::vector<std::shared_ptr<`[`Module`](./Module.md)`>>::const_iterator` **`end`**() `const`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/containers.h`, line 148

</div>
