Class Expression

Class Documentation

class URI::Template::Expression

URI-template expression part.

This class represent expression part of a template. Each expression contains an operator, which defines corresponding expansion process, and list of variable specifiers.

Public Functions

Expression(std::shared_ptr<Operator> &&oper, std::vector<Variable> &&variables)

Parametrized constructor.

Constructs expression an operator oper and variables.

Parameters
  • [in] oper – An operator for the expression.

  • [in] variables – A vector of variable definitions for the expression.

Expression(const Expression&) = default

Copy constructor.

Expression &operator=(const Expression&) = default

Copy assignment.

Expression(Expression&&) noexcept = default

Move constructor.

Expression &operator=(Expression&&) noexcept = default

Move assignment.

~Expression() = default

Destructor.

const Operator &Oper() const

Get the operator instance for this expression.

Returns

A const reference to the operator.

const std::vector<Variable> &Vars() const

Get the variables for this expression.

Returns

A const reference to vector of variables.

std::string String() const noexcept

Get the expression string.

bool operator==(const Expression &rhs) const

Compares two expressions.

bool operator!=(const Expression &rhs) const

Compares two expressions.