My template queue is below
template <typename T>
class LockingQueue
{
private:
std::queue<T> s_queue;
public:
void push(T const& value)
{}
T pop()
{}
};
And my template class is below
template <typename TaskData, typename TaskName>
class CommonMsg
{
public:
TaskData dataType;
TaskName taskName;
};
template <typename TaskData, typename TaskName>
using CommonMsgPtr = boost::shared_ptr<CommonMsg<TaskData, TaskName>>;
template <typename TaskData, typename TaskName>
using CommonMsgConstPtr = boost::shared_ptr<const CommonMsg<TaskData, TaskName>>;
I want to put the template class as the parameter of LockingQueue, e.g.
LockingQueue<CommonMsgConstPtr >. I know it is wrong. what should I do?