Public Member Functions | List of all members
cudf::numeric_scalar< T > Class Template Reference

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

#include <scalar.hpp>

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

Public Member Functions

 numeric_scalar (numeric_scalar &&other)=default
 Move constructor for numeric_scalar. More...
 
numeric_scalaroperator= (numeric_scalar const &other)=delete
 
numeric_scalaroperator= (numeric_scalar &&other)=delete
 
 numeric_scalar (numeric_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 numeric scalar object by deep copying another. More...
 
 numeric_scalar (T value, 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 numeric scalar object. More...
 
 numeric_scalar (rmm::device_scalar< T > &&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 numeric scalar object from existing device memory. More...
 
- Public Member Functions inherited from cudf::detail::fixed_width_scalar< T >
 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::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 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...
 

Additional Inherited Members

- Public Types inherited from cudf::detail::fixed_width_scalar< T >
using value_type = T
 Type of the value held by the scalar.
 
- Protected Member Functions inherited from cudf::detail::fixed_width_scalar< T >
 fixed_width_scalar (T value, 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 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::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 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::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::detail::fixed_width_scalar< T >
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::numeric_scalar< T >

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

Template Parameters
Tthe data type of the numerical value.

Definition at line 243 of file scalar.hpp.

Constructor & Destructor Documentation

◆ numeric_scalar() [1/4]

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

Move constructor for numeric_scalar.

Parameters
otherThe other numeric_scalar to move from.

◆ numeric_scalar() [2/4]

template<typename T >
cudf::numeric_scalar< T >::numeric_scalar ( numeric_scalar< T > 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 numeric 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.

◆ numeric_scalar() [3/4]

template<typename T >
cudf::numeric_scalar< T >::numeric_scalar ( value,
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 numeric 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.

◆ numeric_scalar() [4/4]

template<typename T >
cudf::numeric_scalar< T >::numeric_scalar ( rmm::device_scalar< T > &&  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 numeric 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.

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