TTN::Buffer_t Node1 TTN::Buffer_t + Buffer_t() + Buffer_t() + operator[]() + upper_bound_at() Node2 TTN::BufferBase_t< double, double, std ::vector< double > > # m_ptr # m_bufferStart # m_bufferEnd + BufferBase_t() + operator[]() + upper_bound_at() # BufferBase_t() # BufferBase_t() # operator=() # optionalRangeCheck() # optionalRangeCheckUpperBound() # throwRangeError() Node2->Node1 Node3 std::vector< double > + elements Node3->Node2 #m_maxIndex