source: src/UIElements/CommandLineUI/TypeEnumContainer.hpp@ eea0bb

Last change on this file since eea0bb was 7d9416, checked in by Frederik Heber <heber@…>, 13 years ago

Turned query<Box> into query<RealSpaceMatrix>

  • Property mode set to 100644
File size: 1.4 KB
Line 
1/*
2 * TypeEnumContainer.hpp
3 *
4 * Created on: Oct 27, 2010
5 * Author: heber
6 */
7
8#ifndef TYPEENUMCONTAINER_HPP_
9#define TYPEENUMCONTAINER_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16
17#include <map>
18#include <typeinfo>
19
20class TypeEnumContainer {
21public:
22 TypeEnumContainer();
23 ~TypeEnumContainer();
24
25 /** Enumeration of all possible input types.
26 *
27 */
28 enum EnumOfTypes { NoneType,
29 BooleanType,
30 FileType,
31 ListOfFilesType,
32 IntegerType,
33 ListOfIntegersType,
34 UnsignedIntegerType,
35 ListOfUnsignedIntegersType,
36 DoubleType,
37 ListOfDoublesType,
38 StringType,
39 ListOfStringsType,
40 VectorType,
41 ListOfVectorsType,
42 AtomType,
43 ListOfAtomsType,
44 MoleculeType,
45 ListOfMoleculesType,
46 ElementType,
47 ListOfElementsType,
48 RandomNumberDistribution_ParametersType,
49 RealSpaceMatrixType
50 };
51
52 /** Typedef for map of type_info.
53 *
54 * Note that typeid always returns lvalue of a static const object, hence we
55 * may store its address, see C++ standard 5.2.8.
56 *
57 */
58 typedef std::map< const std::type_info *, enum EnumOfTypes > type_map;
59
60 enum EnumOfTypes getEnumforType(const std::type_info *_type);
61
62 void ListAllKnownTypes() const;
63
64private:
65 // type to enum map for AddOptionToParser()
66 type_map TypeEnumMap;
67};
68
69
70#endif /* TYPEENUMCONTAINER_HPP_ */
Note: See TracBrowser for help on using the repository browser.