swift
simulatorplugininfolist.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2013 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #include <algorithm>
7 
8 #include "misc/range.h"
10 
11 SWIFT_DEFINE_SEQUENCE_MIXINS(swift::misc::simulation, CSimulatorPluginInfo, CSimulatorPluginInfoList)
12 
13 namespace swift::misc::simulation
14 {
16 
17  bool CSimulatorPluginInfoList::supportsSimulator(const QString &simulator) const
18  {
19  return std::find_if(begin(), end(), [&simulator](const CSimulatorPluginInfo &info) {
20  return info.getSimulator() == simulator;
21  }) != end();
22  }
23 
24  QStringList CSimulatorPluginInfoList::toStringList(bool i18n) const
25  {
26  return this->transform([i18n](const CSimulatorPluginInfo &info) { return info.toQString(i18n); });
27  }
28 
30  {
32  }
33 
35  {
36  for (const CSimulatorPluginInfo &info : *this)
37  {
38  if (info.getSimulatorInfo() == simulator) { return info; }
39  }
40  return CSimulatorPluginInfo();
41  }
42 } // namespace swift::misc::simulation
auto findFirstByOrDefault(Predicate p, const Value &def) const
Return a copy of the first element for which a given predicate returns true, or a default value if th...
Definition: range.h:70
auto transform(F function) const
Return a new container generated by applying some transformation function to all elements of this one...
Definition: range.h:403
iterator begin()
Returns iterator at the beginning of the sequence.
Definition: sequence.h:163
iterator end()
Returns iterator one past the end of the sequence.
Definition: sequence.h:172
QString toQString(bool i18n=false) const
Cast as QString.
Definition: mixinstring.h:76
Simple hardcoded info about the corresponding simulator.
Definition: simulatorinfo.h:41
const QString & getSimulator() const
Simulator.
const QString & getIdentifier() const
Identifier.
const CSimulatorInfo & getSimulatorInfo() const
Simulator info object.
QStringList toStringList(bool i18n=false) const
String list with meaningful representations.
CSimulatorPluginInfo findBySimulator(const swift::misc::simulation::CSimulatorInfo &simulator) const
Find by simulator.
bool supportsSimulator(const QString &simulator) const
Is simulator supported.
CSimulatorPluginInfo findByIdentifier(const QString &identifier) const
Find by identifier (unique)
#define SWIFT_DEFINE_SEQUENCE_MIXINS(Namespace, T, List)
Explicit template definition of mixins for a CSequence subclass.
Definition: sequence.h:63