![]() |
Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
|


Public Member Functions | |
| BaseExpression (ExpressionType type, ExpressionClass expression_class) | |
| Create an Expression. | |
| ExpressionClass | GetExpressionClass () const |
| Returns the class of the expression. | |
| ExpressionType | GetExpressionType () const |
| Returns the type of the expression. | |
| void | SetExpressionTypeUnsafe (ExpressionType new_type) |
| optional_idx | GetQueryLocation () const |
| Returns the location in the query (if any) | |
| void | SetQueryLocation (optional_idx location) |
| Sets the location in the query. | |
| bool | HasAlias () const |
| Returns true if the expression has a non-empty alias. | |
| const string & | GetAlias () const |
| Returns the alias of the expression. | |
| void | SetAlias (const string &alias_p) |
| Sets the alias of the expression. | |
| void | SetAlias (string &&alias_p) |
| Sets the alias of the expression. | |
| void | ClearAlias () |
| Clears the alias of the expression. | |
| virtual bool | IsAggregate () const =0 |
| Returns true if this expression is an aggregate or not. | |
| virtual bool | IsWindow () const =0 |
| Returns true if the expression has a window function or not. | |
| virtual bool | HasSubquery () const =0 |
| Returns true if the query contains a subquery. | |
| virtual bool | IsScalar () const =0 |
| Returns true if expression does not contain a group ref or col ref or parameter. | |
| virtual bool | HasParameter () const =0 |
| Returns true if the expression has a parameter. | |
| virtual string | GetName () const |
| Get the name of the expression. | |
| virtual string | ToString () const =0 |
| Convert the Expression to a String. | |
| void | Print () const |
| Print the expression to stdout. | |
| virtual hash_t | Hash () const =0 |
| virtual bool | Equals (const BaseExpression &other) const |
| Returns true if this expression is equal to another expression. | |
| bool | operator== (const BaseExpression &rhs) const |
| virtual void | Verify () const |
| template<class TARGET > | |
| TARGET & | Cast () |
| template<class TARGET > | |
| const TARGET & | Cast () const |
Static Public Member Functions | |
| static bool | Equals (const BaseExpression &left, const BaseExpression &right) |
Public Attributes | |
| ExpressionType | type |
| Type of the expression. | |
| ExpressionClass | expression_class |
| The expression class of the node. | |
| string | alias |
| The alias of the expression,. | |
| optional_idx | query_location |
| The location in the query (if any) | |
The BaseExpression class is a base class that can represent any expression part of a SQL statement.
|
inline |
Create an Expression.
|
inlinevirtual |
|
inline |
Returns the class of the expression.
|
inline |
Returns the type of the expression.
|
inline |
Sets the type of the expression unsafely. In general expressions are immutable and should not be changed after creation. Only use this if you know what you are doing.
|
inline |
Returns the location in the query (if any)
|
inline |
Sets the location in the query.
|
inline |
Returns true if the expression has a non-empty alias.
|
inline |
Returns the alias of the expression.
Sets the alias of the expression.
|
inline |
Sets the alias of the expression.
|
inline |
Clears the alias of the expression.
|
pure virtual |
Returns true if this expression is an aggregate or not.
Examples:
(1) SUM(a) + 1 – True
(2) a + 1 – False
Implemented in duckdb::ParsedExpression, and duckdb::Expression.
|
pure virtual |
Returns true if the expression has a window function or not.
Implemented in duckdb::WindowExpression, duckdb::ParsedExpression, and duckdb::Expression.
|
pure virtual |
Returns true if the query contains a subquery.
Implemented in duckdb::ParsedExpression, and duckdb::Expression.
|
pure virtual |
Returns true if expression does not contain a group ref or col ref or parameter.
Implemented in duckdb::ColumnRefExpression, duckdb::LambdaRefExpression, duckdb::BoundColumnRefExpression, duckdb::BoundReferenceExpression, duckdb::ParameterExpression, duckdb::ParsedExpression, and duckdb::Expression.
|
pure virtual |
Returns true if the expression has a parameter.
Implemented in duckdb::ParameterExpression, duckdb::ParsedExpression, and duckdb::Expression.
|
virtual |
Get the name of the expression.
Reimplemented in duckdb::ColumnRefExpression, duckdb::LambdaRefExpression, and duckdb::BoundColumnRefExpression.
|
pure virtual |
Convert the Expression to a String.
Implemented in duckdb::ConstantExpression, duckdb::ColumnRefExpression, duckdb::BoundExpression, duckdb::LambdaRefExpression, duckdb::TypeExpression, duckdb::BoundLambdaExpression, duckdb::BoundColumnRefExpression, duckdb::StarExpression, duckdb::FunctionExpression, duckdb::BoundReferenceExpression, duckdb::CastExpression, duckdb::ParameterExpression, duckdb::WindowExpression, duckdb::BoundConstantExpression, duckdb::BoundCastExpression, duckdb::BoundFunctionExpression, and duckdb::LambdaExpression.
Creates a hash value of this expression. It is important that if two expressions are identical (i.e. Expression::Equals() returns true), that their hash value is identical as well.
Implemented in duckdb::ConstantExpression, duckdb::ColumnRefExpression, duckdb::BoundExpression, duckdb::LambdaRefExpression, duckdb::TypeExpression, duckdb::BoundColumnRefExpression, duckdb::FunctionExpression, duckdb::BoundReferenceExpression, duckdb::ParameterExpression, duckdb::BoundConstantExpression, duckdb::BoundFunctionExpression, duckdb::ParsedExpression, duckdb::Expression, and duckdb::LambdaExpression.
|
virtual |
Returns true if this expression is equal to another expression.
Reimplemented in duckdb::BoundExpression, duckdb::BoundLambdaExpression, duckdb::BoundColumnRefExpression, duckdb::BoundReferenceExpression, duckdb::BoundConstantExpression, duckdb::BoundCastExpression, duckdb::BoundFunctionExpression, duckdb::ParsedExpression, and duckdb::Expression.

|
inlinestatic |
|
inline |