MCPcopy Create free account
hub / github.com/boostorg/parser / main

Function main

test/aggr_tuple_assignment.cpp:77–237  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75};
76
77int main()
78{
79
80// struct_arity
81{
82 using bp::detail::struct_arity_v;
83
84 static_assert(struct_arity_v<empty> == 0);
85 static_assert(struct_arity_v<int_> == 1);
86 static_assert(struct_arity_v<int_string> == 2);
87 static_assert(struct_arity_v<string_int> == 2);
88 static_assert(struct_arity_v<string_int_double> == 3);
89
90 // 1 due to the copy ctor.
91 static_assert(struct_arity_v<string_int_double_priv> == 1);
92
93 static_assert(struct_arity_v<string_int_double_no_copy_move> <= 0);
94}
95
96// is_struct_assignable
97{
98 using bp::detail::is_struct_assignable_v;
99
100 static_assert(!is_struct_assignable_v<void, void>);
101 static_assert(!is_struct_assignable_v<int, bp::tuple<int, std::string>>);
102 static_assert(!is_struct_assignable_v<void, bp::tuple<int, std::string>>);
103 static_assert(!is_struct_assignable_v<empty, bp::tuple<int, std::string>>);
104 static_assert(!is_struct_assignable_v<int_, bp::tuple<int, std::string>>);
105 static_assert(
106 !is_struct_assignable_v<string_int, bp::tuple<int, std::string>>);
107 static_assert(!is_struct_assignable_v<
108 string_int_double,
109 bp::tuple<std::string, int>>);
110 static_assert(!is_struct_assignable_v<
111 string_int,
112 bp::tuple<std::string, int, double>>);
113 static_assert(!is_struct_assignable_v<
114 string_int_double_priv,
115 bp::tuple<std::string, int, double>>);
116 static_assert(!is_struct_assignable_v<
117 string_int_double_no_copy_move,
118 bp::tuple<std::string, int, double>>);
119
120 static_assert(
121 is_struct_assignable_v<int_string, bp::tuple<int, std::string>>);
122 static_assert(
123 is_struct_assignable_v<int_string, bp::tuple<short, char const *>>);
124
125 static_assert(
126 is_struct_assignable_v<string_int, bp::tuple<std::string, int>>);
127 static_assert(
128 is_struct_assignable_v<string_int, bp::tuple<char const *, short>>);
129
130 static_assert(is_struct_assignable_v<
131 string_int_double,
132 bp::tuple<std::string, int, double>>);
133 static_assert(is_struct_assignable_v<
134 string_int_double,

Callers

nothing calls this directly

Calls 3

tie_aggregateFunction · 0.85
getFunction · 0.50
emptyMethod · 0.45

Tested by

no test coverage detected