Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cudf::detail::fixed_width_scalar< T > Class Template Reference

An owning class to represent a fixed-width type value in device memory. More...

#include <scalar.hpp>

Inheritance diagram for cudf::detail::fixed_width_scalar< T >:
cudf::scalar cudf::chrono_scalar< T > cudf::numeric_scalar< T > cudf::duration_scalar< T > cudf::timestamp_scalar< T >

Public Types

using value_type = T
 Type of the value held by the scalar.
 

Public Member Functions

 fixed_width_scalar (fixed_width_scalar &&other)=default
 Move constructor for fixed_width_scalar. More...
 
fixed_width_scalaroperator= (fixed_width_scalar const &other)=delete
 
fixed_width_scalaroperator= (fixed_width_scalar &&other)=delete
 
 fixed_width_scalar (fixed_width_scalar const &other, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Construct a new fixed-width scalar object by deep copying another. More...
 
void set_value (T value, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Set the value of the scalar. More...
 
 operator value_type () const
 Explicit conversion operator to get the value of the scalar on the host.
 
value (rmm::cuda_stream_view stream=cudf::get_default_stream()) const
 Get the value of the scalar. More...
 
T * data ()
 Returns a raw pointer to the value in device memory. More...
 
T const * data () const
 Returns a const raw pointer to the value in device memory. 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...
 

Protected Member Functions

 fixed_width_scalar (T value, bool is_valid=true, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Construct a new fixed width scalar object. More...
 
 fixed_width_scalar (rmm::device_scalar< T > &&data, bool is_valid=true, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Construct a new fixed width scalar object from existing device memory. More...
 
- 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::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 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::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Construct a new scalar object. More...
 

Protected Attributes

rmm::device_scalar< T > _data
 device memory containing the value
 
- 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

template<typename T>
class cudf::detail::fixed_width_scalar< T >

An owning class to represent a fixed-width type value in device memory.

Template Parameters
Tthe data type of the fixed-width type value.

Definition at line 142 of file scalar.hpp.

Constructor & Destructor Documentation

◆ fixed_width_scalar() [1/4]

template<typename T >
cudf::detail::fixed_width_scalar< T >::fixed_width_scalar ( fixed_width_scalar< T > &&  other)
default

Move constructor for fixed_width_scalar.

Parameters
otherThe other fixed_width_scalar to move from.

◆ fixed_width_scalar() [2/4]

Construct a new fixed-width 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.

◆ fixed_width_scalar() [3/4]

template<typename T >
cudf::detail::fixed_width_scalar< T >::fixed_width_scalar ( value,
bool  is_valid = true,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)
protected

Construct a new fixed width scalar object.

Parameters
valueThe initial value of the scalar.
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.

◆ fixed_width_scalar() [4/4]

Construct a new fixed width scalar object from existing device memory.

Parameters
dataThe scalar's data in device memory.
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

◆ data() [1/2]

template<typename T >
T* cudf::detail::fixed_width_scalar< T >::data ( )

Returns a raw pointer to the value in device memory.

Returns
A raw pointer to the value in device memory

◆ data() [2/2]

template<typename T >
T const* cudf::detail::fixed_width_scalar< T >::data ( ) const

Returns a const raw pointer to the value in device memory.

Returns
A const raw pointer to the value in device memory

◆ set_value()

template<typename T >
void cudf::detail::fixed_width_scalar< T >::set_value ( value,
rmm::cuda_stream_view  stream = cudf::get_default_stream() 
)

Set the value of the scalar.

Parameters
valueNew value of scalar.
streamCUDA stream used for device memory operations.

◆ value()

template<typename T >
T cudf::detail::fixed_width_scalar< T >::value ( rmm::cuda_stream_view  stream = cudf::get_default_stream()) const

Get the value of the scalar.

Parameters
streamCUDA stream used for device memory operations.
Returns
Value of the scalar

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