Lines Matching refs:SpecialMemberFunctionKind
55 toString(SpecialMemberFunctionsCheck::SpecialMemberFunctionKind K) { in toString()
57 case SpecialMemberFunctionsCheck::SpecialMemberFunctionKind::Destructor: in toString()
59 case SpecialMemberFunctionsCheck::SpecialMemberFunctionKind:: in toString()
62 case SpecialMemberFunctionsCheck::SpecialMemberFunctionKind:: in toString()
65 case SpecialMemberFunctionsCheck::SpecialMemberFunctionKind::CopyConstructor: in toString()
67 case SpecialMemberFunctionsCheck::SpecialMemberFunctionKind::CopyAssignment: in toString()
69 case SpecialMemberFunctionsCheck::SpecialMemberFunctionKind::MoveConstructor: in toString()
71 case SpecialMemberFunctionsCheck::SpecialMemberFunctionKind::MoveAssignment: in toString()
78 join(ArrayRef<SpecialMemberFunctionsCheck::SpecialMemberFunctionKind> SMFS, in join()
114 ? SpecialMemberFunctionKind::DefaultDestructor in check()
115 : SpecialMemberFunctionKind::NonDefaultDestructor, in check()
119 std::initializer_list<std::pair<std::string, SpecialMemberFunctionKind>> in check()
120 Matchers = {{"copy-ctor", SpecialMemberFunctionKind::CopyConstructor}, in check()
121 {"copy-assign", SpecialMemberFunctionKind::CopyAssignment}, in check()
122 {"move-ctor", SpecialMemberFunctionKind::MoveConstructor}, in check()
123 {"move-assign", SpecialMemberFunctionKind::MoveAssignment}}; in check()
141 llvm::SmallVector<SpecialMemberFunctionKind, 5> MissingMembers; in checkForMissingMembers()
143 auto HasMember = [&](SpecialMemberFunctionKind Kind) { in checkForMissingMembers()
149 auto IsDeleted = [&](SpecialMemberFunctionKind Kind) { in checkForMissingMembers()
155 auto RequireMember = [&](SpecialMemberFunctionKind Kind) { in checkForMissingMembers()
161 HasMember(SpecialMemberFunctionKind::NonDefaultDestructor) || in checkForMissingMembers()
163 HasMember(SpecialMemberFunctionKind::DefaultDestructor)) || in checkForMissingMembers()
164 HasMember(SpecialMemberFunctionKind::CopyConstructor) || in checkForMissingMembers()
165 HasMember(SpecialMemberFunctionKind::CopyAssignment) || in checkForMissingMembers()
166 HasMember(SpecialMemberFunctionKind::MoveConstructor) || in checkForMissingMembers()
167 HasMember(SpecialMemberFunctionKind::MoveAssignment); in checkForMissingMembers()
171 HasMember(SpecialMemberFunctionKind::MoveConstructor) || in checkForMissingMembers()
172 HasMember(SpecialMemberFunctionKind::MoveAssignment); in checkForMissingMembers()
175 if (!HasMember(SpecialMemberFunctionKind::DefaultDestructor) && in checkForMissingMembers()
176 !HasMember(SpecialMemberFunctionKind::NonDefaultDestructor)) in checkForMissingMembers()
177 MissingMembers.push_back(SpecialMemberFunctionKind::Destructor); in checkForMissingMembers()
179 RequireMember(SpecialMemberFunctionKind::CopyConstructor); in checkForMissingMembers()
180 RequireMember(SpecialMemberFunctionKind::CopyAssignment); in checkForMissingMembers()
185 (IsDeleted(SpecialMemberFunctionKind::CopyConstructor) && in checkForMissingMembers()
186 IsDeleted(SpecialMemberFunctionKind::CopyAssignment)))) { in checkForMissingMembers()
188 RequireMember(SpecialMemberFunctionKind::MoveConstructor); in checkForMissingMembers()
189 RequireMember(SpecialMemberFunctionKind::MoveAssignment); in checkForMissingMembers()
193 llvm::SmallVector<SpecialMemberFunctionKind, 5> DefinedMemberKinds; in checkForMissingMembers()