Lines Matching full:variant
14 void changeVariantType(std::variant<int, char> &v) { in changeVariantType()
18 void changesToInt(std::variant<int, char> &v);
19 void changesToInt(std::variant<int, char> *v);
21 void cannotChangePtr(const std::variant<int, char> &v);
22 void cannotChangePtr(const std::variant<int, char> *v);
26 void swap(std::variant<int, char> &v1, std::variant<int, char> &v2) { in swap()
27 std::variant<int, char> tmp = v1; in swap()
32 void cantDo(const std::variant<int, char>& v) { in cantDo()
33 std::variant<int, char> vtmp = v; in cantDo()
39 void changeVariantPtr(std::variant<int, char> *v) { in changeVariantPtr()
43 using var_t = std::variant<int, char>;
48 // A quick sanity check to see that std::variant's std::get
62 std::variant<int, char> v = 25; in stdGetType()
64 char c = std::get<char>(v); // expected-warning {{std::variant 'v' held an 'int', not a 'char'}} in stdGetType()
71 std::variant<int*, char> v = p; in stdGetPointer()
73 char c = std::get<char>(v); // expected-warning {{std::variant 'v' held an 'int *', not a 'char'}} in stdGetPointer()
80 std::variant<int, char, Foo> v = Foo{}; in stdGetObject()
82 int i = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'Foo', not an 'int'}} in stdGetObject()
88 std::variant<int, int*> v = &a; in stdGetPointerAndPointee()
90 int c = std::get<int>(v); // expected-warning {{std::variant 'v' held an 'int *', not an 'int'}} in stdGetPointerAndPointee()
96 std::variant<std::variant<int, char>, std::variant<char, int>> v = std::variant<int,char>(25); in variantHoldingVariant()
97 std::variant<int, char> v1 = std::get<std::variant<int,char>>(v); in variantHoldingVariant()
98 …variant<char, int> v2 = std::get<std::variant<char,int>>(v); // expected-warning {{std::variant 'v… in variantHoldingVariant()
105 std::variant<int, char> v = 25; in copyConstructor()
106 std::variant<int, char> t(v); in copyConstructor()
108 char c = std::get<char> (t); // expected-warning {{std::variant 't' held an 'int', not a 'char'}} in copyConstructor()
114 std::variant<int, char> v = 25; in copyAssignmentOperator()
115 std::variant<int, char> t = 'c'; in copyAssignmentOperator()
118 char c = std::get<char> (t); // expected-warning {{std::variant 't' held an 'int', not a 'char'}} in copyAssignmentOperator()
124 std::variant<int, char> v = 25; in assignmentOperator()
129 a = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'char', not an 'int'}} in assignmentOperator()
135 std::variant<int, char, float> v = 25; in typeChangeThreeTimes()
145 a = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'float', not an 'int'}} in typeChangeThreeTimes()
152 std::variant<int, char> v; in defaultConstructor()
154 char c = std::get<char>(v); // expected-warning {{std::variant 'v' held an 'int', not a 'char'}} in defaultConstructor()
161 std::variant<int, char> v(std::variant<int, char>('c')); in temporaryObjectsConstructor()
163 int a = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'char', not an 'int'}} in temporaryObjectsConstructor()
169 std::variant<int, char> v = std::variant<int, char>('c'); in temporaryObjectsAssignment()
171 int a = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'char', not an 'int'}} in temporaryObjectsAssignment()
179 std::variant<int*, char> v = p; in pointerTypeHeld()
181 char c = std::get<char>(v); // expected-warning {{std::variant 'v' held an 'int *', not a 'char'}} in pointerTypeHeld()
187 std::variant<int, char> get_unknown_variant();
188 // Verify that the copy constructor is handles properly when the std::variant
191 std::variant<int, char> u = get_unknown_variant(); in copyFromUnknownVariant()
192 std::variant<int, char> v(u); in copyFromUnknownVariant()
199 // Verify that the copy constructor is handles properly when the std::variant
202 std::variant<int, char> v = 25; in copyFromUnknownVariantBef()
203 std::variant<int, char> u = get_unknown_variant(); in copyFromUnknownVariantBef()
218 char c = std::get<char>(v); // expected-warning {{std::variant 'v' held an 'int', not a 'char'}} in typefdefedVariant()
226 char c = std::get<char>(v); // expected-warning {{std::variant 'v' held an 'int', not a 'char'}} in typedefedTypedfefedVariant()
232 std::variant<char, int> v = 25; in typedefedGet()
234 char c = std::get<char_t>(v); // expected-warning {{std::variant 'v' held an 'int', not a 'char'}} in typedefedGet()
240 std::variant<int_t, char_t> v = 25; in typedefedPack()
242 char c = std::get<char>(v); // expected-warning {{std::variant 'v' held an 'int', not a 'char'}} in typedefedPack()
249 std::variant<int, char> v(o); in fromVariable()
251 int a = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'char', not an 'int'}} in fromVariable()
258 std::variant<int, char> v(o); in unknowValueButKnownType()
260 int a = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'char', not an 'int'}} in unknowValueButKnownType()
266 std::variant<int, char> *v = new std::variant<int, char>(15); in createPointer()
268 char c = std::get<char>(*v); // expected-warning {{std::variant held an 'int', not a 'char'}} in createPointer()
278 // Verifying that we are not invalidating the memory region of a variant if
281 std::variant<int, char> v = 'c'; in constNonInlineRef()
284 int a = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'char', not an 'int'}} in constNonInlineRef()
290 std::variant<int, char> v = 'c'; in contNonInlinePtr()
293 int a = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'char', not an 'int'}} in contNonInlinePtr()
299 std::variant<int, char> v = 'c'; in copyInAFunction()
302 int a = std::get<int>(v); // expected-warning {{std::variant 'v' held a 'char', not an 'int'}} in copyInAFunction()
308 // Verifying that we can keep track of the type stored in std::variant when
311 std::variant<int, char> v = 15; in changeThruPointers()
314 int a = std::get<int> (v); // expected-warning {{std::variant 'v' held a 'char', not an 'int'}} in changeThruPointers()
326 a = std::get<int> (v1); // expected-warning {{std::variant 'v1' held a 'char', not an 'int'}} in functionCallWithCopyAssignment()
332 std::variant<int, char> v = 'c'; in inlineFunctionCall()
335 char c = std::get<char> (v); // expected-warning {{std::variant 'v' held an 'int', not a 'char'}} in inlineFunctionCall()
340 // Verifying that we invalidate the mem region of std::variant when it is
343 std::variant<int, char> v = 'c'; in nonInlineFunctionCall()
352 std::variant<int, char> v = 'c'; in nonInlineFunctionCallPtr()