libcudf  24.04.00
Public Member Functions | List of all members
cudf::struct_scalar Class Reference

An owning class to represent a struct value in device memory. More...

#include <scalar.hpp>

Inheritance diagram for cudf::struct_scalar:
cudf::scalar

Public Member Functions

 struct_scalar (struct_scalar &&other)=default
 Move constructor for struct_scalar. More...
 
struct_scalaroperator= (struct_scalar const &other)=delete
 
struct_scalaroperator= (struct_scalar &&other)=delete
 
 struct_scalar (struct_scalar const &other, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a new struct scalar object by deep copying another. More...
 
 struct_scalar (table_view const &data, bool is_valid=true, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a new struct scalar object from table_view. More...
 
 struct_scalar (host_span< column_view const > data, bool is_valid=true, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a new struct scalar object from a host_span of column_views. More...
 
 struct_scalar (table &&data, bool is_valid=true, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a new struct scalar object from an existing table in device memory. More...
 
table_view view () const
 Returns a non-owning, immutable view to underlying device data. More...
 
- Public Member Functions inherited from cudf::scalar
scalaroperator= (scalar const &other)=delete
 
scalaroperator= (scalar &&other)=delete
 
data_type type () const noexcept
 Returns the scalar's logical value type. More...
 
void set_valid_async (bool is_valid, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Updates the validity of the value. More...
 
bool is_valid (rmm::cuda_stream_view stream=cudf::get_default_stream()) const
 Indicates whether the scalar contains a valid value. More...
 
bool * validity_data ()
 Returns a raw pointer to the validity bool in device memory. More...
 
bool const * validity_data () const
 Return a const raw pointer to the validity bool in device memory. More...
 

Additional Inherited Members

- Protected Member Functions inherited from cudf::scalar
 scalar (scalar &&other)=default
 Move constructor for scalar. More...
 
 scalar (scalar const &other, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a new scalar object by deep copying another. More...
 
 scalar (data_type type, bool is_valid=false, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Construct a new scalar object. More...
 
- Protected Attributes inherited from cudf::scalar
data_type _type {type_id::EMPTY}
 Logical type of value in the scalar.
 
rmm::device_scalar< bool > _is_valid
 Device bool signifying validity.
 

Detailed Description

An owning class to represent a struct value in device memory.

Definition at line 795 of file scalar.hpp.

Constructor & Destructor Documentation

◆ struct_scalar() [1/5]

cudf::struct_scalar::struct_scalar ( struct_scalar &&  other)
default

Move constructor for struct_scalar.

Parameters
otherThe other struct_scalar to move from.

◆ struct_scalar() [2/5]

cudf::struct_scalar::struct_scalar ( struct_scalar const &  other,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::mr::device_memory_resource *  mr = rmm::mr::get_current_device_resource() 
)

Construct a new struct scalar object by deep copying another.

Parameters
otherThe scalar to copy.
streamCUDA stream used for device memory operations.
mrDevice memory resource to use for device memory allocation.

◆ struct_scalar() [3/5]

cudf::struct_scalar::struct_scalar ( table_view const &  data,
bool  is_valid = true,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::mr::device_memory_resource *  mr = rmm::mr::get_current_device_resource() 
)

Construct a new struct scalar object from table_view.

The input table_view is deep-copied.

Parameters
dataThe table data to copy.
is_validWhether the value held by the scalar is valid.
streamCUDA stream used for device memory operations.
mrDevice memory resource to use for device memory allocation.

◆ struct_scalar() [4/5]

cudf::struct_scalar::struct_scalar ( host_span< column_view const >  data,
bool  is_valid = true,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::mr::device_memory_resource *  mr = rmm::mr::get_current_device_resource() 
)

Construct a new struct scalar object from a host_span of column_views.

The input column_views are deep-copied.

Parameters
dataThe column_views to copy.
is_validWhether the value held by the scalar is valid.
streamCUDA stream used for device memory operations.
mrDevice memory resource to use for device memory allocation.

◆ struct_scalar() [5/5]

cudf::struct_scalar::struct_scalar ( table &&  data,
bool  is_valid = true,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::mr::device_memory_resource *  mr = rmm::mr::get_current_device_resource() 
)

Construct a new struct scalar object from an existing table in device memory.

Note that this constructor moves the existing table data into the internal table data; no copies are performed.

Parameters
dataThe existing table data to take over.
is_validWhether the value held by the scalar is valid.
streamCUDA stream used for device memory operations.
mrDevice memory resource to use for device memory allocation.

Member Function Documentation

◆ view()

table_view cudf::struct_scalar::view ( ) const

Returns a non-owning, immutable view to underlying device data.

Returns
A non-owning, immutable view to underlying device data

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