#pragma once class LinkedList { public: struct _LL_NODE { template T* GetDataAs() { return (T*)m_pvData; } void* m_pvData; _LL_NODE* m_Next; _LL_NODE* m_Prev; }; int m_NodeC; _LL_NODE* m_Head; _LL_NODE* m_Tail; LinkedList(); void AddToHead(void* pvData); void AddToTail(void* pvData); void RemoveNode(_LL_NODE* pNodeToRemove); _LL_NODE* RemoveHeadNode(); void ClearList(); };