Index: src/work/alpar/invalid.h
===================================================================
--- src/work/alpar/invalid.h	(revision 162)
+++ src/work/alpar/invalid.h	(revision 162)
@@ -0,0 +1,26 @@
+// -*- mode:C++ -*-
+
+#ifndef HUGO_INVALID_H
+#define HUGO_INVALID_H
+
+namespace hugo {
+
+  /// Dummy type to make it easier to make invalid iterators.
+  
+  /// See \ref INVALID, how to use it.
+  
+  struct Invalid {};
+  
+  /// Invalid iterators.
+  
+  /// \ref Invalid is a global type that converts to each iterator
+  /// in such a way that the value of the target iterator will be invalid.
+  
+  ///extern Invalid INVALID;
+
+  const Invalid &INVALID = *(Invalid *)0;
+
+};
+
+#endif
+  
