#pragma warning(disable : 4786) // PrintVisitor.cpp #include #include "CompanyEntry.h" #include "FindVisitor.h" #include "GroupEntry.h" #include "PersonEntry.h" FindVisitor::FindVisitor(std::string query) : _query(query) {} const std::vector &FindVisitor::getFindings() { return findings; } void FindVisitor::visit(const PersonEntry &s) { if (s.getName().find(_query) != std::string::npos) { findings.push_back(&s); } } void FindVisitor::visit(const GroupEntry &g) { if (g.getName().find(_query) != std::string::npos) { findings.push_back(&g); } } void FindVisitor::visit(const CompanyEntry &c) { if (c.getName().find(_query) != std::string::npos || c.getCategory().find(_query) != std::string::npos) { findings.push_back(&c); } }