#ifndef INCLUDED_MAPOFCSTRING
#define INCLUDED_MAPOFCSTRING

#include <map>
#include "CString.h"

class MapOfString
{

public:
	virtual ~MapOfString() {}
	// Constructor for empty set
	MapOfString() {}
	MapOfString(const std::map<CString, std::string>& _in);

	void Insert(const CString& _id, const std::string& _value);
	
	
	int size() const 
	{
		return vals_.size();
	}	
	
	std::map<CString, std::string>::const_iterator begin() const {return vals_.begin();}

	std::map<CString, std::string>::const_iterator end() const {return vals_.end();}

	std::map<CString, std::string>::const_iterator find(const CString & _id) const
	{
	  return vals_.find(_id);
	}

	std::map<CString, std::string>::iterator find(const CString& _id)
	{
		return (vals_.find(_id)); 
	}

private:
	std::map<CString, std::string> vals_;
};

#endif