summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/config/test_config_data.cc
diff options
context:
space:
mode:
authorschodet2005-04-05 22:04:03 +0000
committerschodet2005-04-05 22:04:03 +0000
commit426194305cecf47c4f6ee27d6c2f3431de61f630 (patch)
treef7eee5cbae82729ac9365df3aec0bd15b5df137e /2005/i/robert/src/config/test_config_data.cc
parent1bfba4d6caa690ab7a2e68625c902a8093092bf8 (diff)
Fix du test pour les IntList.
FloatList en double (oui, le nom est trompeur). Bug avec str. Parsage de chaîne et changement de la règle "input". Support des commentaires.
Diffstat (limited to '2005/i/robert/src/config/test_config_data.cc')
-rw-r--r--2005/i/robert/src/config/test_config_data.cc17
1 files changed, 16 insertions, 1 deletions
diff --git a/2005/i/robert/src/config/test_config_data.cc b/2005/i/robert/src/config/test_config_data.cc
index 87e36ea..49fc425 100644
--- a/2005/i/robert/src/config/test_config_data.cc
+++ b/2005/i/robert/src/config/test_config_data.cc
@@ -23,6 +23,10 @@
//
// }}}
#include "config_data.hh"
+#include "config.hh"
+
+#include <iterator>
+#include <algorithm>
int
main (int argc, char **argv)
@@ -32,7 +36,18 @@ main (int argc, char **argv)
ConfigData cd (argc, argv);
for (int i = 1; i < argc; ++i)
{
- std::cout << cd.get (argv[i]) << std::endl;
+ const any &a = cd.get (argv[i]);
+ if (a.type () == typeid (Config::IntList))
+ {
+ const Config::IntList &il = any_cast<Config::IntList> (a);
+ std::copy (il.begin (), il.end (),
+ std::ostream_iterator<int> (std::cout, " "));
+ std::cout << std::endl;
+ }
+ else
+ {
+ std::cout << cd.get (argv[i]) << std::endl;
+ }
}
}
catch (const std::exception &e)