Index: trunk/FACT++/src/Configuration.cc
===================================================================
--- trunk/FACT++/src/Configuration.cc	(revision 11100)
+++ trunk/FACT++/src/Configuration.cc	(revision 11101)
@@ -268,4 +268,47 @@
    bool has_option1 = vm.count("option1");
    bool has_option2 = conf.Has("option2");
+
+\endcode
+
+@section Extensions
+
+The configuration interpreter can be easily extended to new types, for example:
+
+\code
+
+template<class T,class S> // Just for the output
+   std::ostream &operator<<(std::ostream &out, const pair<T,S> &f)
+   {
+       out << f.first << "|" << f.second;
+       return out;
+   }
+
+template<class T, class S> // Needed by the lexical_cast to convert the option
+   std::istream &operator>>(std::istream &in,  pair<T,S> &f)
+   {
+       char c;
+       in >> f.first;
+       in >> c;
+       if (c!=':')
+           return in;
+       in >> f.second;
+       return in;
+   }
+
+typedef pair<int,int> mytype; // Type definition
+
+void main(int argc, char **argv)
+{
+   po::options_description config("Configuration");
+   config.add_options()
+        ("mytype", var<mytype>(), "my new type")
+        ;
+
+   Configuration conf;
+   conf.AddOptionsCommandline(config);
+   conf.Parse(argc, argv);
+
+   cout << conf.Get<mytype>("mytype") << endl;
+}
 
 \endcode
