---
title: "ClikaRT::tables::Table::ColumnRef"
sidebar_label: "Table::ColumnRef"
description: "The handle returned by frame[name]. Compound ops mutate the live column (the scalar broadcasts); = tensor creates or replaces the column."
---

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

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

**Header:** `ClikaRT/tables/table.h`

The handle returned by `frame[name]`. Compound ops mutate the live column (the scalar broadcasts); `= tensor` creates or replaces the column. On a failure (missing column, non-numeric, length mismatch) the op raises [`ClikaRT::Error`](../Error.md) in your translation unit, in BOTH library modes: a chaining operator returns `*this` and cannot carry a [`Result`](../Result.md), so this block is the documented mode-invariant throwing surface. [`pow`](./Table.ColumnRef.md#pow-2) / [`floordiv`](./Table.ColumnRef.md#floordiv-2) are methods (C++ has no `**` / `//`).

## Column right-hand side

### operator+=(Tensor) {#operator-plus-assign}

<div class="api-signature">

`ColumnRef&` **`operator+=`**(`const` [`Tensor`](../Tensor.md)`&` `other`)

</div>

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 284

</div>

### operator-=(Tensor) {#operator-minus-assign}

<div class="api-signature">

`ColumnRef&` **`operator-=`**(`const` [`Tensor`](../Tensor.md)`&` `other`)

</div>

Subtract another column elementwise, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 286

</div>

### operator\*=(Tensor) {#operator-mul-assign}

<div class="api-signature">

`ColumnRef&` **`operator*=`**(`const` [`Tensor`](../Tensor.md)`&` `other`)

</div>

Multiply by another column elementwise, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 288

</div>

### operator/=(Tensor) {#operator-div-assign}

<div class="api-signature">

`ColumnRef&` **`operator/=`**(`const` [`Tensor`](../Tensor.md)`&` `other`)

</div>

Divide by another column elementwise, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 290

</div>

### operator%=(Tensor) {#operator-mod-assign}

<div class="api-signature">

`ColumnRef&` **`operator%=`**(`const` [`Tensor`](../Tensor.md)`&` `other`)

</div>

Elementwise modulo by another column, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 292

</div>

### pow(Tensor) {#pow}

<div class="api-signature">

`ColumnRef&` **`pow`**(`const` [`Tensor`](../Tensor.md)`&` `other`)

</div>

Raise to another column's elementwise powers, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 294

</div>

### floordiv(Tensor) {#floordiv}

<div class="api-signature">

`ColumnRef&` **`floordiv`**(`const` [`Tensor`](../Tensor.md)`&` `other`)

</div>

Floor-divide by another column elementwise, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 296

</div>

## Member functions

### operator+=(double) {#operator-plus-assign-2}

<div class="api-signature">

`ColumnRef&` **`operator+=`**(`double` `scalar`)

</div>

Add `scalar` to every element of the column, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 266

</div>

### operator-=(double) {#operator-minus-assign-2}

<div class="api-signature">

`ColumnRef&` **`operator-=`**(`double` `scalar`)

</div>

Subtract `scalar` from every element, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 268

</div>

### operator\*=(double) {#operator-mul-assign-2}

<div class="api-signature">

`ColumnRef&` **`operator*=`**(`double` `scalar`)

</div>

Multiply every element by `scalar`, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 270

</div>

### operator/=(double) {#operator-div-assign-2}

<div class="api-signature">

`ColumnRef&` **`operator/=`**(`double` `scalar`)

</div>

Divide every element by `scalar`, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 272

</div>

### operator%=(double) {#operator-mod-assign-2}

<div class="api-signature">

`ColumnRef&` **`operator%=`**(`double` `scalar`)

</div>

Elementwise modulo by `scalar`, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 274

</div>

### pow(double) {#pow-2}

<div class="api-signature">

`ColumnRef&` **`pow`**(`double` `exponent`)

</div>

Raise every element to `exponent`, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 276

</div>

### floordiv(double) {#floordiv-2}

<div class="api-signature">

`ColumnRef&` **`floordiv`**(`double` `divisor`)

</div>

Floor-divide every element by `divisor`, in place.

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 278

</div>

### operator=(Tensor) {#operator-assign}

<div class="api-signature">

`ColumnRef&` **`operator=`**(`const` [`Tensor`](../Tensor.md)`&` `values`)

</div>

`frame["new"] = tensor`: create or replace this column from a 1-D tensor.

**Throws**

- `ClikaRT::Error`: on a tensor the column cannot take (non-1-D, non-numeric, or a length mismatch).

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 302

</div>

### operator=(ColumnRef) {#operator-assign-2}

<div class="api-signature">

`ColumnRef&` **`operator=`**(`const ColumnRef&`) `=delete`

</div>

<div class="api-declared">

Declared in `ClikaRT/tables/table.h`, line 303

</div>
