---
title: "ClikaRT::graph::PathOptions"
sidebar_label: "PathOptions"
description: "The bounds and filters of a path query (ModelGraph::find_paths_to, has_path, shortest_path, all_simple_paths, all_simple_edge_paths, count_paths). A path never repeats a node."
---

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

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

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

The bounds and filters of a path query ([`ModelGraph::find_paths_to`](./ModelGraph.md#find_paths_to), `has_path`, `shortest_path`, `all_simple_paths`, `all_simple_edge_paths`, `count_paths`). A path never repeats a node.

## Data members

### cutoff {#cutoff}

<div class="api-signature">

`std::optional<std::size_t>` **`cutoff`**

</div>

The most edges a path may have: 0 admits only the one-node path. Empty: no limit.

<div class="api-declared">

Declared in `ClikaRT/graph/query.h`, line 114

</div>

### limit {#limit}

<div class="api-signature">

`std::optional<std::size_t>` **`limit`**

</div>

The most paths a listing returns: the first ones, depth-first, and a listing with a limit never fails for its length. Empty: up to [`kMaxPathsWithoutLimit`](./index.md#kMaxPathsWithoutLimit). `has_path`, `shortest_path` and `count_paths` do not read it.

<div class="api-declared">

Declared in `ClikaRT/graph/query.h`, line 119

</div>

### avoid {#avoid}

<div class="api-signature">

`std::vector<`[`Node`](./Node.md)`>` **`avoid`**

</div>

Nodes no path may hold, its two ends included.

<div class="api-declared">

Declared in `ClikaRT/graph/query.h`, line 121

</div>

### edge\_filter {#edge_filter}

<div class="api-signature">

[`EdgePredicate`](./index.md#EdgePredicate) **`edge_filter`**

</div>

The edges a path may take. Empty: every edge.

<div class="api-declared">

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

</div>
