Classes | Public Member Functions | List of all members
cudf::ast::literal Class Reference

A literal value used in an abstract syntax tree. More...

#include <cudf/ast/expressions.hpp>

Inheritance diagram for cudf::ast::literal:
cudf::ast::expression

Public Member Functions

template<typename T >
 literal (cudf::numeric_scalar< T > &value)
 Construct a new literal object. More...
 
template<typename T >
 literal (cudf::timestamp_scalar< T > &value)
 Construct a new literal object. More...
 
template<typename T >
 literal (cudf::duration_scalar< T > &value)
 Construct a new literal object. More...
 
 literal (cudf::string_scalar &value)
 Construct a new literal object. More...
 
template<typename T >
 literal (cudf::fixed_point_scalar< T > &value)
 Construct a new literal object. More...
 
 literal (scalar_column_view value)
 Construct a new literal object. More...
 
cudf::data_type get_data_type () const
 Get the data type. More...
 
bool is_scalar_column_view () const noexcept
 Check whether the literal is backed by a scalar column view. More...
 
generic_scalar_device_view get_value () const
 Get the value object. More...
 
cudf::scalar const & get_scalar () const
 Get the scalar. More...
 
scalar_column_view const & get_scalar_column_view () const
 Get scalar column view. More...
 
cudf::size_type accept (detail::expression_parser &visitor) const override
 Accepts a visitor class. More...
 
std::reference_wrapper< expression const > accept (detail::expression_transformer &visitor) const override
 Accepts a visitor class. More...
 
std::unique_ptr< cudf::detail::row_ir::node > accept (cudf::detail::row_ir::ast_converter &visitor) const override
 Accepts a visitor class. More...
 
bool may_evaluate_null (table_view const &left, table_view const &right, cuda::stream_ref stream) const override
 Returns true if the expression may evaluate to null. More...
 
bool is_valid (cuda::stream_ref stream) const
 Check if the underlying scalar is valid. More...
 
- Public Member Functions inherited from cudf::ast::expression
bool may_evaluate_null (table_view const &left, cuda::stream_ref stream) const
 Returns true if the expression may evaluate to null. More...
 

Detailed Description

A literal value used in an abstract syntax tree.

Definition at line 246 of file expressions.hpp.

Constructor & Destructor Documentation

◆ literal() [1/6]

template<typename T >
cudf::ast::literal::literal ( cudf::numeric_scalar< T > &  value)
inline

Construct a new literal object.

Template Parameters
TNumeric scalar template type
Parameters
valueA numeric scalar value

Definition at line 255 of file expressions.hpp.

◆ literal() [2/6]

template<typename T >
cudf::ast::literal::literal ( cudf::timestamp_scalar< T > &  value)
inline

Construct a new literal object.

Template Parameters
TTimestamp scalar template type
Parameters
valueA timestamp scalar value

Definition at line 267 of file expressions.hpp.

◆ literal() [3/6]

template<typename T >
cudf::ast::literal::literal ( cudf::duration_scalar< T > &  value)
inline

Construct a new literal object.

Template Parameters
TDuration scalar template type
Parameters
valueA duration scalar value

Definition at line 279 of file expressions.hpp.

◆ literal() [4/6]

cudf::ast::literal::literal ( cudf::string_scalar value)
inline

Construct a new literal object.

Parameters
valueA string scalar value

Definition at line 289 of file expressions.hpp.

◆ literal() [5/6]

template<typename T >
cudf::ast::literal::literal ( cudf::fixed_point_scalar< T > &  value)
inline

Construct a new literal object.

Parameters
valueA fixed-point scalar value

Definition at line 300 of file expressions.hpp.

◆ literal() [6/6]

cudf::ast::literal::literal ( scalar_column_view  value)
inline

Construct a new literal object.

Parameters
valueA scalar column view value

Definition at line 310 of file expressions.hpp.

Member Function Documentation

◆ accept() [1/3]

std::unique_ptr<cudf::detail::row_ir::node> cudf::ast::literal::accept ( cudf::detail::row_ir::ast_converter &  visitor) const
overridevirtual

Accepts a visitor class.

Parameters
visitorThe expression_parser parsing this expression tree
Returns
Index of device data reference for this instance

Implements cudf::ast::expression.

◆ accept() [2/3]

cudf::size_type cudf::ast::literal::accept ( detail::expression_parser &  visitor) const
overridevirtual

Accepts a visitor class.

Parameters
visitorThe expression_parser parsing this expression tree
Returns
Index of device data reference for this instance

Implements cudf::ast::expression.

◆ accept() [3/3]

std::reference_wrapper<expression const> cudf::ast::literal::accept ( detail::expression_transformer &  visitor) const
overridevirtual

Accepts a visitor class.

Parameters
visitorThe expression_parser parsing this expression tree
Returns
Index of device data reference for this instance

Implements cudf::ast::expression.

◆ get_data_type()

cudf::data_type cudf::ast::literal::get_data_type ( ) const
inline

Get the data type.

Returns
The data type of the literal

Definition at line 317 of file expressions.hpp.

◆ get_scalar()

cudf::scalar const& cudf::ast::literal::get_scalar ( ) const
inline

Get the scalar.

Returns
The scalar object

Definition at line 355 of file expressions.hpp.

◆ get_scalar_column_view()

scalar_column_view const& cudf::ast::literal::get_scalar_column_view ( ) const
inline

Get scalar column view.

Returns
The scalar column view object

Definition at line 365 of file expressions.hpp.

◆ get_value()

generic_scalar_device_view cudf::ast::literal::get_value ( ) const
inline

Get the value object.

Returns
The device scalar object

Definition at line 345 of file expressions.hpp.

◆ is_scalar_column_view()

bool cudf::ast::literal::is_scalar_column_view ( ) const
inlinenoexcept

Check whether the literal is backed by a scalar column view.

Returns
true if the literal is backed by a scalar column view

Definition at line 335 of file expressions.hpp.

◆ is_valid()

bool cudf::ast::literal::is_valid ( cuda::stream_ref  stream) const
inline

Check if the underlying scalar is valid.

Parameters
streamCUDA stream used for device memory operations and kernel launches
Returns
true if the underlying scalar is valid

Definition at line 400 of file expressions.hpp.

◆ may_evaluate_null()

bool cudf::ast::literal::may_evaluate_null ( table_view const &  left,
table_view const &  right,
cuda::stream_ref  stream 
) const
inlineoverridevirtual

Returns true if the expression may evaluate to null.

Parameters
leftThe left operand of the expression
rightThe right operand of the expression
streamCUDA stream used for device memory operations and kernel launches
Returns
true if the expression may evaluate to null, otherwise false

Implements cudf::ast::expression.

Definition at line 387 of file expressions.hpp.


The documentation for this class was generated from the following file: