本文整理汇总了C++中TypedValue::isPlausibleInstanceOf方法的典型用法代码示例。如果您正苦于以下问题:C++ TypedValue::isPlausibleInstanceOf方法的具体用法?C++ TypedValue::isPlausibleInstanceOf怎么用?C++ TypedValue::isPlausibleInstanceOf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TypedValue
的用法示例。
在下文中一共展示了TypedValue::isPlausibleInstanceOf方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: iterateUnaryInl
inline void iterateUnaryInl(AggregationStateSum *state, const TypedValue &value) const {
DCHECK(value.isPlausibleInstanceOf(argument_type_.getSignature()));
if (value.isNull()) return;
SpinMutexLock lock(state->mutex_);
state->sum_ = fast_operator_->applyToTypedValues(state->sum_, value);
state->null_ = false;
}
示例2: positionalWriteTypedValue
/**
* @brief Overwrite the value at the specified position with the supplied
* TypedValue.
* @warning You must call prepareForPositionalWrites() BEFORE calling this
* method.
* @warning Do NOT use positional writes in combination with appends.
* @warning It is intended that this and other positional write methods
* should be called exactly once for each position (if this is
* violated, NULLs may not be tracked properly).
*
* @param position The position of the value in this NativeColumnVector to
* overwrite.
* @param value A TypedValue to write into this NativeColumnVector.
**/
inline void positionalWriteTypedValue(const std::size_t position,
const TypedValue &value) {
DCHECK_LT(position, actual_length_);
DCHECK(value.isPlausibleInstanceOf(type_.getSignature()));
if (null_bitmap_ && value.isNull()) {
null_bitmap_->setBit(position, true);
} else {
DCHECK(!value.isNull());
value.copyInto(static_cast<char*>(values_) + (position * type_length_));
}
}
示例3: appendTypedValue
/**
* @brief Append a TypedValue to this NativeColumnVector.
*
* @param value A value to append to this NativeColumnVector.
**/
inline void appendTypedValue(const TypedValue &value) {
DCHECK_LT(actual_length_, reserved_length_);
DCHECK(value.isPlausibleInstanceOf(type_.getSignature()));
if (null_bitmap_ && value.isNull()) {
null_bitmap_->setBit(actual_length_, true);
} else {
DCHECK(!value.isNull());
value.copyInto(static_cast<char*>(values_) + (actual_length_ * type_length_));
}
++actual_length_;
}
示例4: fillWithValue
/**
* @brief Fill this entire ColumnVector with copies of value.
*
* @param value A value to fill this ColumnVector with.
**/
inline void fillWithValue(const TypedValue &value) {
DCHECK(value.isPlausibleInstanceOf(type_.getSignature()));
if (value.isNull()) {
fillWithNulls();
} else {
if (null_bitmap_) {
null_bitmap_->clear();
}
for (std::size_t pos = 0;
pos < reserved_length_;
++pos) {
value.copyInto(static_cast<char*>(values_) + (pos * type_length_));
}
actual_length_ = reserved_length_;
}
}