LINUX.ORG.RU

История изменений

Исправление anatoly, (текущая версия) :

template <typename TT>
bool Put(TT& val)
    {
        ...
        new (&node->val) T(std::forward<TT>(val));
        ...
    }

bool Get(T& val)
    {
        ...
        val = std::move(node->val);
        ...
    }

Исходная версия anatoly, :

template <typename TT>
bool Put(TT& val)
    {
        ...
        new (&node->val) T(std::forward<TT>(val));
        ...
    }

bool Get(T& val)
    {
        ...
        val = std::move(node->val);
        //node->val.~T();
        free(node);
        ...
    }