RDKit: RDKit::RDValue Struct Reference

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
RDKit::RDValue Struct Reference

`#include <RDValue-doublemagic.h>`

## Public Member Functions
| RDValue ()
| RDValue (double number)
| RDValue (float number)
| RDValue (int32_t number)
| RDValue (unsigned int number)
| RDValue (bool number)
| RDValue (std::any *pointer)
| RDValue (const std::any &any)
template<class T>
| RDValue (const T &v)
| RDValue (const std::string &v)
| RDValue (const std::vector< double > &v)
| RDValue (const std::vector< float > &v)
| RDValue (const std::vector< int > &v)
| RDValue (const std::vector< unsigned int > &v)
| RDValue (const std::vector< std::string > &v)
boost::uint64_t | getTag () const
template<class T>
T * | ptrCast () const
void | destroy ()
| RDValue ()
| RDValue (double v)
| RDValue (float v)
| RDValue (int v)
| RDValue (unsigned v)
| RDValue (bool v)
| RDValue (std::any *v)
| RDValue (const std::any &v)
| RDValue (const std::string &v)
template<class T>
| RDValue (const T &v)
| RDValue (const std::vector< double > &v)
| RDValue (const std::vector< float > &v)
| RDValue (const std::vector< int > &v)
| RDValue (const std::vector< unsigned int > &v)
| RDValue (const std::vector< std::string > &v)
short | getTag () const
template<class T>
T * | ptrCast () const
void | destroy ()

## Static Public Member Functions
static void | cleanup_rdvalue (RDValue v)
static void | cleanup_rdvalue (RDValue &rdvalue)

## Public Attributes
union { |
double doubleBits |
boost::uint64_t otherBits |
}; |  |
RDTypeTag::detail::Value | value
short | type
short | reserved_tag = 0

## Static Public Attributes
static const boost::uint64_t | TagMask = 0xFFFF000000000000
static const boost::uint64_t | PointerTagMask = 0xFFFF000000000007
static const boost::uint64_t | ApplyMask = 0x0000FFFFFFFFFFFF
static const boost::uint64_t | ApplyPtrMask = 0x0000FFFFFFFFFFF8

## Detailed Description

Definition at line 166 of file RDValue-doublemagic.h.

## Constructor & Destructor Documentation

## ◆ RDValue() [1/30]

RDKit::RDValue::RDValue | ( |  | ) |
| inline

Definition at line 178 of file RDValue-doublemagic.h.

References doubleBits.

Referenced by cleanup_rdvalue(), and cleanup_rdvalue().

## ◆ RDValue() [2/30]

RDKit::RDValue::RDValue | ( | double | number | ) |
| inline

Definition at line 180 of file RDValue-doublemagic.h.

References doubleBits, RDKit::RDTypeTag::NaN, and otherBits.

## ◆ RDValue() [3/30]

RDKit::RDValue::RDValue | ( | float | number | ) |
| inline

Definition at line 191 of file RDValue-doublemagic.h.

References RDKit::RDTypeTag::FloatTag, and otherBits.

## ◆ RDValue() [4/30]

RDKit::RDValue::RDValue | ( | int32_t | number | ) |
| inline

Definition at line 196 of file RDValue-doublemagic.h.

References ApplyMask, RDKit::RDTypeTag::IntTag, and otherBits.

## ◆ RDValue() [5/30]

RDKit::RDValue::RDValue | ( | unsigned int | number | ) |
| inline

Definition at line 200 of file RDValue-doublemagic.h.

References ApplyMask, otherBits, and RDKit::RDTypeTag::UnsignedIntTag.

## ◆ RDValue() [6/30]

RDKit::RDValue::RDValue | ( | bool | number | ) |
| inline

Definition at line 205 of file RDValue-doublemagic.h.

References ApplyMask, RDKit::RDTypeTag::BoolTag, and otherBits.

## ◆ RDValue() [7/30]

RDKit::RDValue::RDValue | ( | std::any * | pointer | ) |
| inline

Definition at line 210 of file RDValue-doublemagic.h.

References RDKit::RDTypeTag::AnyTag, and otherBits.

## ◆ RDValue() [8/30]

RDKit::RDValue::RDValue | ( | const std::any & | any | ) |
| inline

Definition at line 217 of file RDValue-doublemagic.h.

References RDKit::RDTypeTag::AnyTag, and otherBits.

## ◆ RDValue() [9/30]

template<class T>

RDKit::RDValue::RDValue | ( | const T & | v | ) |
| inline

Definition at line 227 of file RDValue-doublemagic.h.

References RDKit::RDTypeTag::AnyTag, and otherBits.

## ◆ RDValue() [10/30]

RDKit::RDValue::RDValue | ( | const std::string & | v | ) |
| inline

Definition at line 234 of file RDValue-doublemagic.h.

References otherBits, and RDKit::RDTypeTag::StringTag.

## ◆ RDValue() [11/30]

RDKit::RDValue::RDValue | ( | const std::vector< double > & | v | ) |
| inline

Definition at line 242 of file RDValue-doublemagic.h.

References otherBits, and RDKit::RDTypeTag::VecDoubleTag.

## ◆ RDValue() [12/30]

RDKit::RDValue::RDValue | ( | const std::vector< float > & | v | ) |
| inline

Definition at line 250 of file RDValue-doublemagic.h.

References otherBits, and RDKit::RDTypeTag::VecFloatTag.

## ◆ RDValue() [13/30]

RDKit::RDValue::RDValue | ( | const std::vector< int > & | v | ) |
| inline

Definition at line 258 of file RDValue-doublemagic.h.

References otherBits, and RDKit::RDTypeTag::VecIntTag.

## ◆ RDValue() [14/30]

RDKit::RDValue::RDValue | ( | const std::vector< unsigned int > & | v | ) |
| inline

Definition at line 266 of file RDValue-doublemagic.h.

References otherBits, RDKit::RDTypeTag::VecIntTag, and RDKit::RDTypeTag::VecUnsignedIntTag.

## ◆ RDValue() [15/30]

RDKit::RDValue::RDValue | ( | const std::vector< std::string > & | v | ) |
| inline

Definition at line 274 of file RDValue-doublemagic.h.

References otherBits, and RDKit::RDTypeTag::VecStringTag.

## ◆ RDValue() [16/30]

RDKit::RDValue::RDValue | ( |  | ) |
| inline

Definition at line 222 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [17/30]

RDKit::RDValue::RDValue | ( | double | v | ) |
| inline

Definition at line 224 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [18/30]

RDKit::RDValue::RDValue | ( | float | v | ) |
| inline

Definition at line 225 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [19/30]

RDKit::RDValue::RDValue | ( | int | v | ) |
| inline

Definition at line 226 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [20/30]

RDKit::RDValue::RDValue | ( | unsigned | v | ) |
| inline

Definition at line 227 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [21/30]

RDKit::RDValue::RDValue | ( | bool | v | ) |
| inline

Definition at line 228 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [22/30]

RDKit::RDValue::RDValue | ( | std::any * | v | ) |
| inline

Definition at line 230 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [23/30]

RDKit::RDValue::RDValue | ( | const std::any & | v | ) |
| inline

Definition at line 233 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [24/30]

RDKit::RDValue::RDValue | ( | const std::string & | v | ) |
| inline

Definition at line 235 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [25/30]

template<class T>

RDKit::RDValue::RDValue | ( | const T & | v | ) |
| inline

Definition at line 238 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [26/30]

RDKit::RDValue::RDValue | ( | const std::vector< double > & | v | ) |
| inline

Definition at line 241 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [27/30]

RDKit::RDValue::RDValue | ( | const std::vector< float > & | v | ) |
| inline

Definition at line 243 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [28/30]

RDKit::RDValue::RDValue | ( | const std::vector< int > & | v | ) |
| inline

Definition at line 245 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [29/30]

RDKit::RDValue::RDValue | ( | const std::vector< unsigned int > & | v | ) |
| inline

Definition at line 247 of file RDValue-taggedunion.h.

References type, and value.

## ◆ RDValue() [30/30]

RDKit::RDValue::RDValue | ( | const std::vector< std::string > & | v | ) |
| inline

Definition at line 250 of file RDValue-taggedunion.h.

References type, and value.

## Member Function Documentation

## ◆ cleanup_rdvalue() [1/2]

static void RDKit::RDValue::cleanup_rdvalue | ( | RDValue & | rdvalue | ) |
| inlinestatic

Definition at line 296 of file RDValue-taggedunion.h.

References RDValue().

## ◆ cleanup_rdvalue() [2/2]

static void RDKit::RDValue::cleanup_rdvalue | ( | RDValue | v | ) |
| inlinestatic

Definition at line 331 of file RDValue-doublemagic.h.

References destroy(), and RDValue().

Referenced by RDKit::Dict::Pair::cleanup(), RDKit::Dict::clearVal(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::RDAny::operator=(), RDKit::Dict::reset(), RDKit::Dict::setPODVal(), RDKit::Dict::setVal(), RDKit::PairHolder::~PairHolder(), and RDKit::RDAny::~RDAny().

## ◆ destroy() [1/2]

void RDKit::RDValue::destroy | ( |  | ) |
| inline

Definition at line 303 of file RDValue-doublemagic.h.

References RDKit::RDTypeTag::AnyTag, getTag(), ptrCast(), RDKit::RDTypeTag::StringTag, RDKit::RDTypeTag::VecDoubleTag, RDKit::RDTypeTag::VecFloatTag, RDKit::RDTypeTag::VecIntTag, RDKit::RDTypeTag::VecStringTag, and RDKit::RDTypeTag::VecUnsignedIntTag.

Referenced by cleanup_rdvalue(), and RDKit::copy_rdvalue().

## ◆ destroy() [2/2]

void RDKit::RDValue::destroy | ( |  | ) |
| inline

Definition at line 265 of file RDValue-taggedunion.h.

References RDKit::RDTypeTag::AnyTag, RDKit::RDTypeTag::EmptyTag, RDKit::RDTypeTag::StringTag, type, value, RDKit::RDTypeTag::VecDoubleTag, RDKit::RDTypeTag::VecFloatTag, RDKit::RDTypeTag::VecIntTag, RDKit::RDTypeTag::VecStringTag, and RDKit::RDTypeTag::VecUnsignedIntTag.

## ◆ getTag() [1/2]

boost::uint64_t RDKit::RDValue::getTag | ( |  | ) | const
| inline

Definition at line 282 of file RDValue-doublemagic.h.

References RDKit::RDTypeTag::DoubleTag, RDKit::RDTypeTag::MaxDouble, RDKit::RDTypeTag::NaN, otherBits, PointerTagMask, RDKit::RDTypeTag::PtrTag, and TagMask.

Referenced by RDKit::copy_rdvalue(), destroy(), RDKit::from_rdany(), RDKit::from_rdvalue(), RDKit::rdvalue_is< std::any >(), and RDKit::rdvalue_tostring().

## ◆ getTag() [2/2]

short RDKit::RDValue::getTag | ( |  | ) | const
| inline

Definition at line 253 of file RDValue-taggedunion.h.

References type.

## ◆ ptrCast() [1/2]

template<class T>

T * RDKit::RDValue::ptrCast | ( |  | ) | const
| inline

Definition at line 295 of file RDValue-doublemagic.h.

References otherBits.

Referenced by RDKit::copy_rdvalue(), destroy(), RDKit::rdvalue_cast(), RDKit::rdvalue_cast< const std::any & >(), RDKit::rdvalue_cast< std::any & >(), RDKit::rdvalue_cast< std::any >(), RDKit::rdvalue_cast< std::int64_t >(), RDKit::rdvalue_cast< std::string & >(), RDKit::rdvalue_cast< std::string >(), and RDKit::rdvalue_cast< std::uint64_t >().

## ◆ ptrCast() [2/2]

template<class T>

T * RDKit::RDValue::ptrCast | ( |  | ) | const
| inline

Definition at line 257 of file RDValue-taggedunion.h.

References value, and RDKit::RDTypeTag::detail::valuePtrCast().

## Member Data Documentation

## ◆ [union]

union { ... } RDKit::RDValue

## ◆ ApplyMask

const boost::uint64_t RDKit::RDValue::ApplyMask = 0x0000FFFFFFFFFFFF
| static

Definition at line 170 of file RDValue-doublemagic.h.

Referenced by RDValue(), RDValue(), and RDValue().

## ◆ ApplyPtrMask

const boost::uint64_t RDKit::RDValue::ApplyPtrMask = 0x0000FFFFFFFFFFF8
| static

Definition at line 171 of file RDValue-doublemagic.h.

## ◆ doubleBits

double RDKit::RDValue::doubleBits

Definition at line 174 of file RDValue-doublemagic.h.

Referenced by RDValue(), RDValue(), and RDKit::rdvalue_cast< double >().

## ◆ otherBits

boost::uint64_t RDKit::RDValue::otherBits

Definition at line 175 of file RDValue-doublemagic.h.

Referenced by getTag(), ptrCast(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDKit::rdvalue_cast< bool >(), RDKit::rdvalue_cast< float >(), RDKit::rdvalue_cast< int >(), and RDKit::rdvalue_cast< unsigned int >().

## ◆ PointerTagMask

const boost::uint64_t RDKit::RDValue::PointerTagMask = 0xFFFF000000000007
| static

Definition at line 169 of file RDValue-doublemagic.h.

Referenced by getTag().

## ◆ reserved_tag

short RDKit::RDValue::reserved_tag = 0

Definition at line 220 of file RDValue-taggedunion.h.

## ◆ TagMask

const boost::uint64_t RDKit::RDValue::TagMask = 0xFFFF000000000000
| static

Definition at line 168 of file RDValue-doublemagic.h.

Referenced by getTag().

## ◆ type

short RDKit::RDValue::type

Definition at line 219 of file RDValue-taggedunion.h.

Referenced by destroy(), getTag(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), and RDValue().

## ◆ value

RDTypeTag::detail::Value RDKit::RDValue::value

Definition at line 218 of file RDValue-taggedunion.h.

Referenced by destroy(), ptrCast(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDValue(), RDKit::rdvalue_cast< bool >(), RDKit::rdvalue_cast< double >(), RDKit::rdvalue_cast< float >(), RDKit::rdvalue_cast< int >(), RDKit::rdvalue_cast< std::int16_t >(), RDKit::rdvalue_cast< std::int64_t >(), RDKit::rdvalue_cast< std::int8_t >(), RDKit::rdvalue_cast< std::uint16_t >(), RDKit::rdvalue_cast< std::uint64_t >(), RDKit::rdvalue_cast< std::uint8_t >(), and RDKit::rdvalue_cast< unsigned int >().

The documentation for this struct was generated from the following files:

- RDValue-doublemagic.h
- RDValue-taggedunion.h