columnar::ColumnarLinkTool::TargetSlot Node1 columnar::ColumnarLinkTool ::TargetSlot + sgKey + dataIndex   Node2 std::unique_ptr< columnar ::ColumnAccessorDataArray >   + operator->() Node2->Node1 +accessorData Node3 columnar::ColumnAccessor DataArray + dataIndexPtr + type + accessMode + ColumnAccessorDataArray() + ~ColumnAccessorDataArray() Node2->Node3 +selfPtr Node3->Node2 +ptr Node10 std::vector< columnar ::ColumnAccessorDataArray * >     Node3->Node10 +elements Node4 columnar::ColumnDataArray   + ColumnDataArray() + ColumnDataArray() + operator=() + ~ColumnDataArray() + empty() + info() + addAccessor() + removeAccessor() + mergeData() + setIndex() Node4->Node3 +dataRef Node5 columnar::ColumnInfo + index + type + accessMode + isOffset + isOptional + soleLinkTargetClid + isVariantLink   Node5->Node4 -m_info Node6 std::string     Node6->Node5 +keyColumnForVariantLink +name +offsetName +replacesColumn +soleLinkTargetName Node8 std::vector< unsigned > + elements + elements   Node8->Node5 +fixedDimensions Node9 std::vector< std::string > + elements + elements   Node9->Node5 +variantLinkTargetNames Node10->Node4 -m_accessors