# tensorflow::ops::PriorityQueue

`#include <data_flow_ops.h>`

A queue that produces elements sorted by the first component value.

## Summary

Note that the [PriorityQueue](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue) requires the first component of any element to be a scalar int64, in addition to the other elements declared by component_types. Therefore calls to Enqueue and EnqueueMany (resp. Dequeue and DequeueMany) on a [PriorityQueue](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue) will all require (resp. output) one extra entry in their input (resp. output) lists.

Arguments:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- shapes: The shape of each component in a value. The length of this attr must be either 0 or the same as the length of component_types. If the length of this attr is 0, the shapes of queue elements are not constrained, and only one element may be dequeued at a time.

<br />

Optional attributes (see `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/priority-queue/attrs#structtensorflow_1_1ops_1_1_priority_queue_1_1_attrs`):

- component_types: The type of each component in a value.
- capacity: The upper bound on the number of elements in this queue. Negative numbers mean no limit.
- container: If non-empty, this queue is placed in the given container. Otherwise, a default container is used.
- shared_name: If non-empty, this queue will be shared under the given name across multiple sessions.

<br />

Returns:

- `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output`: The handle to the queue.

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a48d6f04225414471ca632c2c2f7fa61f(const ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, const gtl::ArraySlice< PartialTensorShape > & shapes)` ||
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a077fbbd3ddd4d6bfcc097cd3cc1b6707(const ::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, const gtl::ArraySlice< PartialTensorShape > & shapes, const https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/priority-queue/attrs#structtensorflow_1_1ops_1_1_priority_queue_1_1_attrs & attrs)` ||

| ### Public attributes ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a7c9339da7e19f49ed3ba718fa3abbc03` | `::https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a5117c5ab1c0164f94212f42c9d5e7e2e` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation` |

| ### Public functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a1106c32e99fdb703d51f0ec5bc64bb14() const ` | `::tensorflow::Node *` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a7370046bb9ab89339a4cf36af96a2587() const ` | ` `` ` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a208f5da928335dc25e8cf5305a5de879() const ` | ` `` ` |

| ### Public static functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a309e1701f67df0908bd467ef311b9a89(int64 x)` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/priority-queue/attrs#structtensorflow_1_1ops_1_1_priority_queue_1_1_attrs` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a4bf430a0014584ae607d39e9baf2bec2(const DataTypeSlice & x)` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/priority-queue/attrs#structtensorflow_1_1ops_1_1_priority_queue_1_1_attrs` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1aed5d6a8c02b6008dbc0bbd5244966901(StringPiece x)` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/priority-queue/attrs#structtensorflow_1_1ops_1_1_priority_queue_1_1_attrs` |
| `https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue_1a27e53635a6e2a4732caef1194ed237b8(StringPiece x)` | `https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/priority-queue/attrs#structtensorflow_1_1ops_1_1_priority_queue_1_1_attrs` |

| ### Structs ||
|---|---|
| [tensorflow::ops::PriorityQueue::Attrs](https://www.tensorflow.org/versions/r2.0/api_docs/cc/struct/tensorflow/ops/priority-queue/attrs) | Optional attribute setters for [PriorityQueue](https://www.tensorflow.org/versions/r2.0/api_docs/cc/class/tensorflow/ops/priority-queue#classtensorflow_1_1ops_1_1_priority_queue). |

## Public attributes

### handle

```
::tensorflow::Output handle
```

### operation

```
Operation operation
```

## Public functions

### PriorityQueue

```
 PriorityQueue(
  const ::tensorflow::Scope & scope,
  const gtl::ArraySlice< PartialTensorShape > & shapes
)
```

### PriorityQueue

```
 PriorityQueue(
  const ::tensorflow::Scope & scope,
  const gtl::ArraySlice< PartialTensorShape > & shapes,
  const PriorityQueue::Attrs & attrs
)
```

### node

```
::tensorflow::Node * node() const 
```

### operator::tensorflow::Input

```
 operator::tensorflow::Input() const 
```

### operator::tensorflow::Output

```
 operator::tensorflow::Output() const 
```

## Public static functions

### Capacity

```
Attrs Capacity(
  int64 x
)
```

### ComponentTypes

```
Attrs ComponentTypes(
  const DataTypeSlice & x
)
```

### Container

```
Attrs Container(
  StringPiece x
)
```

### SharedName

```
Attrs SharedName(
  StringPiece x
)
```