class ListNode { std::unique_ptr<ListNode> next; std::weak_ptr<ListNode> prev; // some data or whatever };