//
// Created by pgess on 3/15/15.
//

#include "attachments.h"

namespace xreate {
    void* xreate::Attachments::put(unsigned int key, void *data) {
        auto result = __data.emplace(key, data);
        
        void* ptrOld = nullptr;
        if (!result.second){
            ptrOld = result.first->second;
            result.first->second  = data;
        }
    
        return ptrOld;
    }

    void *xreate::Attachments::get(unsigned int key) {
        assert(__data.count(key));
        return __data.at(key);
    }

    bool
    xreate::Attachments::exists(unsigned int key)
    {
        return __data.count(key)>0;
    }
}