#include <string>
#include <vector>
#include <ginac/basic.h>
+#include <ginac/ex.h>
+
+namespace GiNaC {
class idx : public basic
{
extern const idx some_idx;
extern type_info const & typeid_idx;
-// macros
-
-#define ex_to_idx(X) (static_cast<idx const &>(*(X).bp))
+// utility functions
+inline const idx &ex_to_idx(const ex &e)
+{
+ return static_cast<const idx &>(*e.bp);
+}
-// other functions
+// global functions
typedef vector<ex> exvector;
exvector const & idxv_co);
unsigned count_index(ex const & e, ex const & i);
+} // namespace GiNaC
+
#endif // ndef __GINAC_IDX_H__