---
title: "ClikaRT::spec::ShapeProfile"
sidebar_label: "ShapeProfile"
description: "The shape profile of ONE input: the range of shapes the compiled graph is prepared for, as three extent lists with one entry per dimension."
---

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

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

**Header:** `ClikaRT/graph/input_specs.h`

The shape profile of ONE input: the range of shapes the compiled graph is prepared for, as three extent lists with one entry per dimension. [`min`](./ShapeProfile.md#min) is the smallest shape the input will be fed, [`max`](./ShapeProfile.md#max) the largest, and [`opt`](./ShapeProfile.md#opt) the typical one, which the compiled graph is specialized to; [`min`](./ShapeProfile.md#min)/[`max`](./ShapeProfile.md#max) are validated and recorded. For a fixed shape use the single-shape constructor (min == opt == max).

## Member functions

### ShapeProfile() {#ShapeProfile}

<div class="api-signature">

**`ShapeProfile`**() `=default`

</div>

<div class="api-declared">

Declared in `ClikaRT/graph/input_specs.h`, line 126

</div>

### ShapeProfile(vector\<int64\_t\>) {#ShapeProfile-2}

<div class="api-signature">

`explicit` **`ShapeProfile`**(`std::vector<std::int64_t>` `shape`)

</div>

A single concrete shape: min == opt == max.

<div class="api-declared">

Declared in `ClikaRT/graph/input_specs.h`, line 128

</div>

### ShapeProfile(vector\<int64\_t\>, vector\<int64\_t\>, vector\<int64\_t\>) {#ShapeProfile-3}

<div class="api-signature">

**`ShapeProfile`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::vector<std::int64_t>` `min_shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::vector<std::int64_t>` `opt_shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::vector<std::int64_t>` `max_shape`<br />
)

</div>

A full profile: `min_shape` / `opt_shape` / `max_shape` per the struct note.

<div class="api-declared">

Declared in `ClikaRT/graph/input_specs.h`, line 131

</div>

### empty() {#empty}

<div class="api-signature">

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

</div>

True when all three shape lists are empty.

<div class="api-declared">

Declared in `ClikaRT/graph/input_specs.h`, line 136

</div>

## Data members

### min {#min}

<div class="api-signature">

`std::vector<std::int64_t>` **`min`**

</div>

the smallest shape this input will be fed.

<div class="api-declared">

Declared in `ClikaRT/graph/input_specs.h`, line 122

</div>

### opt {#opt}

<div class="api-signature">

`std::vector<std::int64_t>` **`opt`**

</div>

the shape the compiled graph specializes to.

<div class="api-declared">

Declared in `ClikaRT/graph/input_specs.h`, line 123

</div>

### max {#max}

<div class="api-signature">

`std::vector<std::int64_t>` **`max`**

</div>

the largest shape this input will be fed.

<div class="api-declared">

Declared in `ClikaRT/graph/input_specs.h`, line 124

</div>
