swift
matchingstatistics.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2017 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_MISC_SIMULATION_MATCHINGSTATISTICS_H
7 #define SWIFT_MISC_SIMULATION_MATCHINGSTATISTICS_H
8 
9 #include "misc/collection.h"
11 #include "misc/sequence.h"
13 #include "misc/swiftmiscexport.h"
15 
16 SWIFT_DECLARE_SEQUENCE_MIXINS(swift::misc::simulation, CMatchingStatisticsEntry, CMatchingStatistics)
17 
18 namespace swift::misc::simulation
19 {
22  public swift::misc::CSequence<CMatchingStatisticsEntry>,
23  public swift::misc::ITimestampObjectList<CMatchingStatisticsEntry, CMatchingStatistics>,
24  public swift::misc::mixin::MetaType<CMatchingStatistics>
25  {
26  public:
29 
32 
35 
37  CMatchingStatistics findBySessionId(const QString &sessionId) const;
38 
40  CMatchingStatistics findMissingOnly() const;
41 
43  bool containsSessionId(const QString &sessionId) const;
44 
46  bool containsAircraftAirlineCombination(const QString &aircraftDesignator,
47  const QString &airlineDesignator) const;
48 
50  bool containsAircraftAirlineCombination(const QString &sessionId, const QString &aircraftDesignator,
51  const QString &airlineDesignator) const;
52 
54  bool increaseCountIfFound(CMatchingStatisticsEntry::EntryType type, const QString &sessionId,
55  const QString &aircraftDesignator, const QString &airlineDesignator = {});
56 
58  void addAircraft(CMatchingStatisticsEntry::EntryType type, const QString &sessionId, const QString &modelSetId,
59  const QString &description, const QString &aircraftDesignator, bool avoidDuplicates = true);
60 
62  void addAircraftAirlineCombination(CMatchingStatisticsEntry::EntryType type, const QString &sessionId,
63  const QString &modelSetId, const QString &description,
64  const QString &aircraftDesignator, const QString &airlineDesignator,
65  bool avoidDuplicates = true);
66  };
67 } // namespace swift::misc::simulation
68 
71 
72 #endif // SWIFT_MISC_SIMULATION_MATCHINGSTATISTICS_H
Generic ordered container with value semantics.
Definition: collection.h:107
Generic sequential container with value semantics.
Definition: sequence.h:86
CSequence()=default
Default constructor.
List of objects with timestamp. Such objects should implement.
CRTP class template from which a derived class can inherit common methods dealing with the metatype o...
Definition: mixinmetatype.h:29
EntryType
Represents type of entry.
Value object for matching statistics.
#define SWIFT_MISC_DECLARE_USING_MIXIN_METATYPE(DERIVED)
When a derived class and a base class both inherit from mixin::MetaType, the derived class uses this ...
#define SWIFT_DECLARE_SEQUENCE_MIXINS(Namespace, T, List)
Explicit template declaration of mixins for a CSequence subclass to be placed near the top of the hea...
Definition: sequence.h:62
#define SWIFT_MISC_EXPORT
Export a class or function from the library.