columnar::ColumnAccessorDataArray Node1 columnar::ColumnAccessor DataArray + dataIndexPtr + type + accessMode + ColumnAccessorDataArray() + ~ColumnAccessorDataArray() Node2 std::unique_ptr< columnar ::ColumnAccessorDataArray > + operator->() Node1->Node2 +ptr Node4 std::vector< columnar ::ColumnAccessorDataArray * > Node1->Node4 +elements Node2->Node1 +selfPtr Node3 columnar::ColumnDataArray + ColumnDataArray() + ColumnDataArray() + operator=() + ~ColumnDataArray() + empty() + info() + addAccessor() + removeAccessor() + mergeData() + updateColumnRef() + setIndex() Node3->Node1 +dataRef Node4->Node3 -m_accessors Node5 columnar::ColumnInfo + index + type + accessMode + isOffset + isOptional Node5->Node3 -m_info Node6 std::vector< unsigned > + elements Node6->Node5 +fixedDimensions Node7 std::string Node7->Node5 +replacesColumn +name +offsetName +linkToName Node8 std::basic_string< char > Node8->Node7