IOVData< T > Node1 IOVData< T > - m_lastData + IOVData() + ~IOVData() + clear() + getValue() + getOverlap() + add() Node2 std::list< std::pair < IOVRange, T > > + elements Node2->Node1 +data -m_last