---
title: "ClikaRT::spec::DimOrInt"
sidebar_label: "DimOrInt"
description: "One entry of a shape given to add_input / add_output: a concrete extent, a bare dynamic marker, or a Dim object."
---

<!-- 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`

One entry of a shape given to `add_input` / `add_output`: a concrete extent, a bare dynamic marker, or a [`Dim`](./Dim.md) object. Implicit from both spellings, so a shape list mixes them freely:

```text
model.add_input("x", DataType::Float32, {batch, 128, -1});
```

An integer \> 0 is a concrete extent; \<= 0 is an anonymous dynamic dim (each its own); a [`Dim`](./Dim.md) is a named / identity-tied dynamic dim.

## Member functions

### DimOrInt(int64\_t) {#DimOrInt}

<div class="api-signature">

**`DimOrInt`**(`std::int64_t` `extent`)

</div>

An integer entry: a concrete extent (\> 0) or an anonymous dynamic marker (\<= 0).

<div class="api-declared">

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

</div>

### DimOrInt(int) {#DimOrInt-2}

<div class="api-signature">

**`DimOrInt`**(`int` `extent`)

</div>

The `int` spelling of the integer entry above.

<div class="api-declared">

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

</div>

### DimOrInt(Dim) {#DimOrInt-3}

<div class="api-signature">

**`DimOrInt`**([`Dim`](./Dim.md) `d`)

</div>

A [`Dim`](./Dim.md) entry: named or identity-tied dynamic dim.

<div class="api-declared">

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

</div>

### is\_concrete() {#is_concrete}

<div class="api-signature">

`bool` **`is_concrete`**() `const noexcept`

</div>

True for a positive literal extent with no [`Dim`](./Dim.md) attached.

<div class="api-declared">

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

</div>

## Data members

### value {#value}

<div class="api-signature">

`std::int64_t` **`value`** `= -1`

</div>

the integer entry (\> 0 concrete; \<= 0 anonymous dynamic).

<div class="api-declared">

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

</div>

### dim {#dim}

<div class="api-signature">

`std::optional<`[`Dim`](./Dim.md)`>` **`dim`**

</div>

the [`Dim`](./Dim.md) entry (named / identity-tied), when given.

<div class="api-declared">

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

</div>
