std::BackInserter
template<typename T>
class BackInserter
{
public:
explicit BackInserter(T& p_Container) : m_pContainer(&p_Container){}
~BackInserter(){}
BackInserter<T>& operator=(const typename T::ValueType& p_Value)
{
m_pContainer->push_back(p_Value);
return ;
}
BackInserter<T>& operator*()
{
return (*this);
}
BackInserter<T>& operator++()
{
return (*this);
}
BackInserter<T>& operator++(int)
{
return (*this);
}
private:
T* m_pContainer;
};
class BackInserter
{
public:
explicit BackInserter(T& p_Container) : m_pContainer(&p_Container){}
~BackInserter(){}
BackInserter<T>& operator=(const typename T::ValueType& p_Value)
{
m_pContainer->push_back(p_Value);
return ;
}
BackInserter<T>& operator*()
{
return (*this);
}
BackInserter<T>& operator++()
{
return (*this);
}
BackInserter<T>& operator++(int)
{
return (*this);
}
private:
T* m_pContainer;
};
浙公网安备 33010602011771号