#ifndef MAP_H
#define MAP_H


#include <dict.h>


template<typename T>
class Map : public Dict<T>
{
public:
    T &operator[](const char *key);

    /* expose the base class operator functions */
    T &operator[](int i) { return (*this)[i]; }
    const T &operator[](int i) const { return (*this)[i]; }
};


#include <map_impl.h>


#endif // MAP_H

