// -*- C++ -*-
+/**
+ * \file math_macrotable.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
#ifndef MATH_MACROTABLE_H
#define MATH_MACROTABLE_H
-#include <map>
-#include "LString.h"
#include "math_atom.h"
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include <map>
+#include <string>
-class MathArray;
-///
-struct MathMacroTable {
+class MathMacroTable {
public:
///
- static void create(string const &, int);
+ static void create(MathAtom const &);
///
- static void create(string const &, int, MathArray const &, MathArray const &);
+ static MathAtom & provide(std::string const & name);
///
- static MathAtom & provide(string const &);
- ///
- static bool has(string const &);
- ///
- static void builtinMacros();
+ static bool has(std::string const & name);
///
static void dump();
private:
- /// create internal macros (like \longrightarrow...)
- static void define(string const & display);
-
///
- typedef std::map<string, MathAtom> table_type;
+ typedef std::map<std::string, MathAtom> table_type;
//
static table_type macro_table;
};
+
#endif