class TX##class_key##To##class_value##MapIMPL; \
\
class
TIM_API TX##class_key##To##class_value##Map { \
public: \
TX##class_key##To##class_value##Map(); \
\
TX##class_key##To##class_value##Map(const TX##class_key##To##class_value##Map& map); \
\
virtual ~TX##class_key##To##class_value##Map(); \
\
bool Insert(const class_key& key, const class_value& value); \
\
void Erase(const class_key& key); \
\
size_t Count(const class_key& key) const; \
\
size_t Size() const; \
\
class_value Get(const class_key& key) const; \
\
class_value& operator[](const class_key& key); \
\
TX##class_key##To##class_value##Map& operator=( \
const TX##class_key##To##class_value##Map& map); \
\
const class_key##Vector AllKeys() const; \
\
private: \
TX##class_key##To##class_value##MapIMPL* impl_; \
};