/** @file idx.h
*
- * Interface to GiNaC's indices.
- *
+ * Interface to GiNaC's indices. */
+
+/*
* GiNaC Copyright (C) 1999 Johannes Gutenberg University Mainz, Germany
*
* This program is free software; you can redistribute it and/or modify
#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__