本文整理汇总了C++中PVStructurePtr::unique方法的典型用法代码示例。如果您正苦于以下问题:C++ PVStructurePtr::unique方法的具体用法?C++ PVStructurePtr::unique怎么用?C++ PVStructurePtr::unique使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PVStructurePtr
的用法示例。
在下文中一共展示了PVStructurePtr::unique方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setDimension
void NTNDArrayRecord::setDimension(const int32_t * dims, size_t ndims)
{
// Get the dimension field
PVStructureArrayPtr dimField = ndarray->getDimension();
// create a shared_vector or try to reuse the dimension field's one
PVStructureArray::svector dimVector(dimField->reuse());
// resize/reserve the number of elements
dimVector.resize(ndims);
// Iterate over the number of dimensions, creating and adding the
// appropriate dimension structures.
for (size_t i = 0; i < ndims; i++)
{
PVStructurePtr d = dimVector[i];
if (!d || !d.unique())
d = dimVector[i] = getPVDataCreate()->createPVStructure(dimField->getStructureArray()->getStructure());
d->getSubField<PVInt>("size")->put(dims[i]);
d->getSubField<PVInt>("offset")->put(0);
d->getSubField<PVInt>("fullSize")->put(dims[i]);
d->getSubField<PVInt>("binning")->put(1);
d->getSubField<PVBoolean>("reverse")->put(false);
}
// replace the dimensions field's shared_vector
// (Remember to freeze first)
dimField->replace(freeze(dimVector));
}