51Degrees Common C/C++  4.1

A shared functionality library that is used by 51Degrees products

EvidenceBase.hpp

1 /* *********************************************************************
2  * This Source Code Form is copyright of 51 Degrees Mobile Experts Limited.
3  * Copyright 2019 51 Degrees Mobile Experts Limited, 5 Charlotte Close,
4  * Caversham, Reading, Berkshire, United Kingdom RG4 7BY
5  *
6  * This Source Code Form is subject to the terms of the Mozilla Public
7  * License, v. 2.0.
8  *
9  * If a copy of the MPL was not distributed with this file, You can obtain
10  * one at http://mozilla.org/MPL/2.0/.
11  *
12  * This Source Code Form is "Incompatible With Secondary Licenses", as
13  * defined by the Mozilla Public License, v. 2.0.
14  * ********************************************************************* */
15 
16 #ifndef FIFTYONE_DEGREES_EVIDENCE_BASE_HPP
17 #define FIFTYONE_DEGREES_EVIDENCE_BASE_HPP
18 
19 #include <string>
20 #include <map>
21 #include "Exceptions.hpp"
22 #include "evidence.h"
23 
24 using namespace std;
25 
26 namespace FiftyoneDegrees {
27  namespace Common {
57  class EvidenceBase : public map<string, string> {
58  public:
67  EvidenceBase();
68 
72  ~EvidenceBase();
73 
87 
97  void clear();
98 
103  void erase(iterator position);
104 
110  void erase(iterator first, iterator last);
111 
115  protected:
123  virtual bool isRelevant(fiftyoneDegreesEvidencePrefix prefix);
124  private:
127  };
128  }
129 }
130 
131 #endif
Base evidence class containing evidence to be processed by an engine.
Definition: EvidenceBase.hpp:57
51Degrees base namespace.
Definition: Collection.hpp:24
fiftyoneDegreesEvidencePrefix
Evidence prefixes used to determine the category a piece of evidence belongs to.
Definition: evidence.h:131
Array of items of type fiftyoneDegreesEvidenceKeyValuePair used to easily access and track the size o...
Definition: evidence.h:165