friend operator<<

Друзья, подскажите, пожалуйста, как в данном случае реализовать operator<< для класса Node?

C++Выделить код

1
2
3
4
5
6
7
8
9
10
11

template<typename T> class List {
    class Node {
    public:
        Node pNext;
        Node pPrev;
        T data;}
 
Node Head;
Node Tail;
size_t m_size;
}

Не понимаю синтаксис объявление.

Если в классе List сделать friend operator<< для Node, будет ли это правильно? Или в классе Node нужно сделать friend operator<< Node, а в классе лист friend operator<< List?

Но в первую очередь интересует именно как правильно синтаксически написать эту конструкцию.