From 2fa89e75e3766d76f18fb7684ba59f5bc7b7fd29 Mon Sep 17 00:00:00 2001
From: Christian Zimmermann <christian.zimmermann@ur.de>
Date: Wed, 1 Mar 2017 18:25:26 +0100
Subject: [PATCH] some standard index / range definitions

---
 src/multi_array_header.h | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/src/multi_array_header.h b/src/multi_array_header.h
index 21e6488..587b1f5 100644
--- a/src/multi_array_header.h
+++ b/src/multi_array_header.h
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 
 #ifndef __multi_array_header_h__
 #define __multi_array_header_h__
@@ -12,4 +13,33 @@
 #include "multi_array.h"
 #include "slice.h"
 
+namespace MultiArrayTools
+{
+    
+    /*********************************
+     *   Some standard definitions   *
+     *********************************/
+
+    // ===== Index Types =====
+
+    typedef SingleIndex<size_t,RangeType::ANY> GenericNI;
+    typedef SingleIndex<double,RangeType::ANY> GenericFI;
+    typedef SingleIndex<size_t,RangeType::LORENTZ> LorentzI;
+    typedef SingleIndex<int,RangeType::SPACE> Space1dNI;
+    typedef SingleIndex<int,RangeType::MOMENTUM> Mom1dNI;
+    // ...
+
+    // ===== Range Types =====
+
+    typedef SingleRange<size_t,RangeType::ANY> GenericNR;
+    typedef SingleRange<double,RangeType::ANY> GenericFR;
+    typedef SingleRange<size_t,RangeType::LORENTZ> LorentzR;
+    typedef SingleRange<int,RangeType::SPACE> Space1dNR;
+    typedef SingleRange<int,RangeType::MOMENTUM> Mom1dNR;
+    typedef MultiRange<Space1dNR,Space1dNR,Space1dNR> Space3dNR;
+    typedef MultiRange<Mom1dNR,Mom1dNR,Mom1dNR> Mom3dNR;
+    // ...
+    
+}
+
 #endif