Loading...
Searching...
No Matches
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 167 of file RDValue-doublemagic.h.

## Constructor & Destructor Documentation

## RDValue() [1/30]

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

inline

Definition at line 179 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 181 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 223 of file RDValue-taggedunion.h.

References type, and value.

## RDValue() [17/30]

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

inline

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

References type, and value.

## RDValue() [18/30]

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

inline

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

References type, and value.

## RDValue() [19/30]

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

inline

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

References type, and value.

## RDValue() [20/30]

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

inline

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

References type, and value.

## RDValue() [21/30]

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

inline

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

References type, and value.

## RDValue() [22/30]

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

inline

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

References type, and value.

## RDValue() [23/30]

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

inline

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

References type, and value.

## RDValue() [24/30]

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

inline

Definition at line 236 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 239 of file RDValue-taggedunion.h.

References type, and value.

## RDValue() [26/30]

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

inline

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

References type, and value.

## RDValue() [27/30]

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

inline

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

References type, and value.

## RDValue() [28/30]

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

inline

Definition at line 246 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 248 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 251 of file RDValue-taggedunion.h.

References type, and value.

## Member Function Documentation

## cleanup_rdvalue() [1/2]

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

inline static

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

References RDValue().

## cleanup_rdvalue() [2/2]

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

inline static

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 266 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 254 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 258 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 171 of file RDValue-doublemagic.h.

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

## ApplyPtrMask

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

static

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

## doubleBits

double RDKit::RDValue::doubleBits

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

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

## otherBits

boost::uint64_t RDKit::RDValue::otherBits

Definition at line 176 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 170 of file RDValue-doublemagic.h.

Referenced by getTag().

## reserved_tag

short RDKit::RDValue::reserved_tag = 0

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

## TagMask

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

static

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

Referenced by getTag().

## type

short RDKit::RDValue::type

Definition at line 220 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 219 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