// -*- C++ -*-
-#ifndef Trans_h
-#define Trans_h
+/**
+ * \file trans.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ * \author Matthias Ettrich
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#ifndef TRANS_H
+#define TRANS_H
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include "trans_decl.h"
#include <map>
-#include "tex-accent.h"
-#include "LString.h"
-#include "trans_decl.h"
+
+namespace lyx {
+
class LyXLex;
/**
Trans: holds a .kmap file
*/
-//class Trans : public TransInterface {
class Trans {
public:
///
~Trans();
///
- int Load(string const & language);
+ int load(std::string const & language);
///
- bool IsDefined() const;
+ bool isDefined() const;
///
- string const & GetName() const;
+ std::string const & getName() const;
///
- string const process(char, TransManager &);
+ docstring const process(char_type, TransManager &);
///
bool isAccentDefined(tex_accent, KmodInfo &) const;
private:
///
- void AddDeadkey(tex_accent, string const &);
+ void addDeadkey(tex_accent, docstring const &);
///
- void FreeKeymap();
+ void freeKeymap();
///
- int Load(LyXLex &);
+ int load(LyXLex &);
///
- string const & Match(unsigned char c);
+ docstring const & match(char_type c);
///
- void InsertException(KmodException & exclist, char c,
- string const & data, bool = false,
+ void insertException(KmodException & exclist, char_type c,
+ docstring const & data, bool = false,
tex_accent = TEX_NOACCENT);
///
- void FreeException(KmodException & exclist);
+ void freeException(KmodException & exclist);
///
- string name_;
+ std::string name_;
///
- std::map<int, string> keymap_;
+ std::map<char_type, docstring> keymap_;
///
- std::map<int, KmodInfo> kmod_list_;
+ std::map<tex_accent, KmodInfo> kmod_list_;
};
///
inline
-string const & Trans::Match(unsigned char c)
+docstring const & Trans::match(char_type c)
{
- std::map<int, string>::iterator it = keymap_.find(c);
+ std::map<char_type, docstring>::iterator it = keymap_.find(c);
if (it != keymap_.end()) {
return it->second;
}
- static string dummy;
+ static docstring dummy;
return dummy;
}
-#endif
+
+} // namespace lyx
+
+#endif // TRANS_H