pool::DbSelect::Ptr< T > Node1 pool::DbSelect::Ptr< T > + m_ptr + Ptr() + ~Ptr() + type() Node2 pool::DbSelect::Pointer + ~Pointer() + type() Node2->Node1