type_traits_error_msgs.h
Go to the documentation of this file.
1 #ifndef fhiclcpp_types_detail_type_traits_error_msgs_h
2 #define fhiclcpp_types_detail_type_traits_error_msgs_h
3 
4 #define NO_STD_CONTAINERS \
5  "\n\n" \
6  "fhiclcpp error: Cannot create a fhicl-cpp parameter with any of the " \
7  "following types\n\n" \
8  " .. std::array\n" \
9  " .. std::pair\n" \
10  " .. std::vector\n" \
11  " .. std::tuple\n\n" \
12  " Please use one of the 'Sequence' options:\n\n" \
13  " .. Sequence<int,4u> ===> std::array <int,4u>\n" \
14  " .. Sequence<int> ===> std::vector<int>\n" \
15  " .. Tuple<int,double> ===> std::tuple " \
16  "<int,double>\n" \
17  " .. Tuple<int,double,bool> ===> std::tuple " \
18  "<int,double,bool>\n" \
19  " .. Sequence<Sequence<int>,4u> ===> std::array " \
20  "<std::vector<int>,4u>\n" \
21  " .. etc.\n"
22 
23 #define OPTIONAL_FHICL_TYPES \
24  " .. OptionalAtom<T>\n" \
25  " .. OptionalSequence<T>\n" \
26  " .. OptionalSequence<T,SZ>\n" \
27  " .. OptionalTable<T>\n" \
28  " .. OptionalTuple<T...>\n" \
29  " .. OptionalTupleAs<T(U...)>\n"
30 
31 #define FHICL_TYPES \
32  " .. Atom<T>\n" \
33  " .. Sequence<T>\n" \
34  " .. Sequence<T,SZ>\n" OPTIONAL_FHICL_TYPES \
35  " .. Table<T>\n" \
36  " .. TableFragment<T>\n" \
37  " .. Tuple<T...>\n"
38 
39 #define NO_NESTED_FHICL_TYPES_IN_ATOM \
40  "\n\n" \
41  "fhiclcpp error: Cannot create a nested 'Atom'--i.e. cannot create an\n" \
42  " 'Atom' with the following types:\n\n" FHICL_TYPES
43 
44 #define NO_NESTED_FHICL_TYPES_IN_TABLE \
45  "\n\n" \
46  "fhiclcpp error: Cannot create a nested 'Table'--i.e. cannot create a\n" \
47  " 'Table' with the following types:\n\n" FHICL_TYPES
48 
49 #define NO_NESTED_TABLE_FRAGMENTS \
50  "\n\n" \
51  "fhiclcpp error: A 'TableFragment' cannot be a template argument (\"T\" " \
52  "below)\n" \
53  " to any of the following types:\n\n" FHICL_TYPES
54 
55 #define NO_DEFAULTS_FOR_TABLE \
56  "\n\n" \
57  "fhiclcpp error: Cannot specify a default for type 'Table'\n" \
58  " Please remove 'Table<T>{}' from default list.\n\n"
59 
60 #define REQUIRE_CLASS_TABLE_FRAGMENT \
61  "\n\n" \
62  "fhiclcpp error: The template argument for a TableFragment must be\n" \
63  " a 'class' or a 'struct'.\n\n"
64 
65 #define NO_OPTIONAL_TYPES \
66  "\n\n" \
67  "fhiclcpp error: The following optional parameters cannot be\n" \
68  " template arguments to any fhiclcpp " \
69  "types:\n\n" OPTIONAL_FHICL_TYPES
70 
71 #define NO_DELEGATED_PARAMETERS \
72  "\n\n" \
73  "fhiclcpp error: The 'DelegatedParameter' and " \
74  "'OptionalDelegatedParameter'\n" \
75  " types cannot be template arguments to any fhiclcpp " \
76  "types.\n\n"
77 
78 #endif /* fhiclcpp_types_detail_type_traits_error_msgs_h */
79 
80 // Local Variables:
81 // mode: c++
82 // End: