---
title: "ClikaRT::nn::ModuleHooks"
sidebar_label: "ModuleHooks"
description: "The entry points a module captures when it is constructed, one per virtual the runtime invokes from its own frames (see Module::Module() and detail::ModuleHookTable)."
---

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

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

**Header:** `ClikaRT/nn/module.h`

The entry points a module captures when it is constructed, one per virtual the runtime invokes from its own frames (see [`Module::Module()`](./Module.md#Module-4) and `detail::ModuleHookTable`). A [`Result`](../Result.md)-returning hook reports a caught exception as the failed [`Result`](../Result.md); the others report it as a [`HookOutcome`](./HookOutcome.md). Filled by `Module()`; a module author never constructs one.

## Data members

### output\_shapes {#output_shapes}

<div class="api-signature">

[`HookOutcome`](./HookOutcome.md)`(*)` **`output_shapes`**`(const Module &, ClikaRT::Span< const FakeTensor >, std::vector< FakeTensor > &) noexcept` `= nullptr`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 72

</div>

### compute {#compute}

<div class="api-signature">

[`HookOutcome`](./HookOutcome.md)`(*)` **`compute`**`(const Module &, ClikaRT::Span< const Tensor >, ClikaRT::Span< Tensor >) noexcept` `= nullptr`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 74

</div>

### to\_where {#to_where}

<div class="api-signature">

[`Result`](../Result.md)`<void>(*)` **`to_where`**`(Module &, StreamOrDevice) noexcept` `= nullptr`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 74

</div>

### to\_dtype {#to_dtype}

<div class="api-signature">

[`Result`](../Result.md)`<void>(*)` **`to_dtype`**`(Module &, DataType) noexcept` `= nullptr`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 74

</div>

### can\_cast\_to {#can_cast_to}

<div class="api-signature">

[`Result`](../Result.md)`<void>(*)` **`can_cast_to`**`(const Module &, DataType) noexcept` `= nullptr`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 74

</div>

### initialize {#initialize}

<div class="api-signature">

[`Result`](../Result.md)`<void>(*)` **`initialize`**`(Module &) noexcept` `= nullptr`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 74

</div>

### apply\_weight\_residency {#apply_weight_residency}

<div class="api-signature">

[`HookOutcome`](./HookOutcome.md)`(*)` **`apply_weight_residency`**`(Module &, WeightResidency, std::uint64_t &, std::uint64_t &) noexcept` `= nullptr`

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 80

</div>
