Fluent classes representing columns

Typically these are created by a TableHandle::select or TableHandle::select method. For example

auto [symbol, price] = table.getCols<StrCol, NumCol>("Symbol", "Price");

Leaf classes

class deephaven::client::NumCol : public deephaven::client::NumericExpression, public deephaven::client::Column

Represents a numeric column in the fluent interface. Typically created by TableHandle::getNumCol() or TableHandle::getCols().

auto col2 = table.getNumCol("name2");
or
auto [col1, col2, col3] = table.getCols<StrCol, NumCol, DateTimeCol>("name1", "name2", "name3")

Public Functions

explicit NumCol(std::shared_ptr<impl::NumColImpl> impl)

Used internally.

NumCol(NumCol&&) = default

Move constructor.

NumCol &operator=(NumCol&&) = default

Move assignment operator.

~NumCol() final

Destructor.

Public Static Functions

static NumCol create(std::string name)

Create the NumCol. Used internally. Typically client code will call TableHandle::getNumCol() or TableHandle::getCols<>().

class deephaven::client::StrCol : public deephaven::client::StringExpression, public deephaven::client::Column

Represents a string column in the fluent interface. Typically created by

auto col1 = table.getStrCol("name1");
or
auto [col1, col2, col3] = table.getCols<StrCol, NumCol, DateTimeCol>("name1", "name2", "name3")

Public Functions

explicit StrCol(std::shared_ptr<impl::StrColImpl> impl)

Used internally.

StrCol(StrCol&&) = default

Move constructor.

StrCol &operator=(StrCol&&) = default

Move assignment operator.

~StrCol() final

Destructor.

Public Static Functions

static StrCol create(std::string name)

Create the StrCol. Used internally. Typically client code will call TableHandle::getStrCol() or TableHandle::getCols<>().

class deephaven::client::DateTimeCol : public deephaven::client::DateTimeExpression, public deephaven::client::Column

Represents a DateTime column in the fluent interface. Typically created by

auto col3 = table.getDateTimeCol("name3");
or
auto [col1, col2, col3] = table.getCols<StrCol, NumCol, DateTimeCol>("name1", "name2", "name3")

Public Functions

explicit DateTimeCol(std::shared_ptr<impl::DateTimeColImpl> impl)

Used internally.

DateTimeCol(DateTimeCol&&) = default

Move constructor.

DateTimeCol &operator=(DateTimeCol&&) = default

Move assignment operator.

~DateTimeCol() final

Destructor.

Public Static Functions

static DateTimeCol create(std::string name)

Create the DateTimeCol. Used internally. Typically client code will call TableHandle::getDateTimeCol() or TableHandle::getCols<>().

TODO(kosak) - BoolCol

Intermediate classes

These classes are typically not specified directly by client code. Instead they are used by library methods to indicate the type of column they work with.

class deephaven::client::SelectColumn : public virtual deephaven::client::IrisRepresentable

A base class for representing columns in the fluent interface. Objects inheriting from SelectColumn are suitable for use in methods like TableHandle::select() const Some common leaf classes are StrCol, NumCol, and DateTimeCol.

Subclassed by deephaven::client::AssignedColumn, deephaven::client::Column

Public Functions

inline explicit SelectColumn(std::shared_ptr<impl::IrisRepresentableImpl> impl)

Constructor.

~SelectColumn() override

Destructor.

class deephaven::client::MatchWithColumn : public virtual deephaven::client::IrisRepresentable

A base class used for representing columns that can be used for matching, in methods like TableHandle::exactJoin(const TableHandle &, std::vector<MatchWithColumn> columnsToMatch, std::vector<SelectColumn> columnsToAdd) const

Subclassed by deephaven::client::Column

Public Functions

inline explicit MatchWithColumn(std::shared_ptr<impl::IrisRepresentableImpl> impl)

Constructor.

~MatchWithColumn() override

Destructor.

class deephaven::client::AssignedColumn : public deephaven::client::SelectColumn

Represents an expression that has been assigned to a new column name. Used for example in the TableHandle::select() method. Example:

auto newTable = tableHandle.select(A, B, (C + 5).as("NewCol"));

Public Functions

explicit AssignedColumn(std::shared_ptr<impl::AssignedColumnImpl> impl)

Constructor. Used internally.

AssignedColumn(AssignedColumn&&) = default

Move constructor.

AssignedColumn &operator=(AssignedColumn&&) = default

Move assignment operator.

~AssignedColumn() final

Destructor.

Public Static Functions

static AssignedColumn create(std::string name, std::shared_ptr<impl::ExpressionImpl> expression)

Create a new AssignedColumn. Used internally.

class deephaven::client::Column : public deephaven::client::SelectColumn, public deephaven::client::MatchWithColumn

A base class for representing columns in the fluent interface.

Subclassed by deephaven::client::DateTimeCol, deephaven::client::NumCol, deephaven::client::StrCol

Public Functions

explicit Column(std::shared_ptr<impl::ColumnImpl> impl)

Constructor. Used internally.

~Column() override

Destructor.

SortPair ascending(bool abs = false) const

Create a SortPair from this column, with direction_ set to ascending and abs_ set to the incoming parameter.

SortPair descending(bool abs = false) const

Create a SortPair from this column, with direction_ set to descending and abs_ set to the incoming parameter.

const std::string &name() const

Gets the name of this column.