NTScalar::shared_pointer NTScalar::wrapUnsafe(PVStructurePtr const & structure) { return shared_pointer(new NTScalar(structure)); }
NTMatrix::shared_pointer NTMatrix::wrapUnsafe(PVStructurePtr const & pvStructure) { return shared_pointer(new NTMatrix(pvStructure)); }
NTScalar::shared_pointer NTScalar::wrap(PVStructurePtr const & structure) { if(!isCompatible(structure)) return shared_pointer(); return wrapUnsafe(structure); }
NTMultiChannel::shared_pointer NTMultiChannel::wrapUnsafe(PVStructurePtr const & structure) { return shared_pointer(new NTMultiChannel(structure)); }
NTMatrix::shared_pointer NTMatrix::wrap(PVStructurePtr const & pvStructure) { if(!isCompatible(pvStructure)) return shared_pointer(); return wrapUnsafe(pvStructure); }
NTTable::shared_pointer NTTable::wrapUnsafe(PVStructurePtr const & structure) { return shared_pointer(new NTTable(structure)); }
NTHistogram::shared_pointer NTHistogram::wrapUnsafe(PVStructurePtr const & pvStructure) { return shared_pointer(new NTHistogram(pvStructure)); }
NTAttribute::shared_pointer NTAttribute::wrapUnsafe(PVStructurePtr const & pvStructure) { return shared_pointer(new NTAttribute(pvStructure)); }
NTNameValue::shared_pointer NTNameValue::wrapUnsafe(PVStructurePtr const & structure) { return shared_pointer(new NTNameValue(structure)); }
NTNDArray::shared_pointer NTNDArray::wrapUnsafe(PVStructurePtr const & pvStructure) { return shared_pointer(new NTNDArray(pvStructure)); }