Vuo  2.3.2
VuoCompilerCompatibility.hh
Go to the documentation of this file.
1 
10 #pragma once
11 
18 {
19 public:
20  explicit VuoCompilerCompatibility(json_object *json);
24 
25  bool isCompatibleWith(const VuoCompilerCompatibility &other);
27  string toString(void);
28  string toJsonString(void);
29  bool isCompatibleWithPlatform(const string &platform);
30  string getMinVersionOnPlatform(const string &platform);
31 
33  static VuoCompilerCompatibility compatibilityWithArchitectures(const set<string> &architectures);
34  static VuoCompilerCompatibility compatibilityWithTargetTriple(const string &target);
35 
36 private:
80  json_object *json;
81 
82  json_object * findPlatform(json_object *json, string platformKey, bool &isPlatformCompatible);
83  string findVersion(json_object *platformVal, const string &minOrMax);
84  vector<string> findArchitectures(json_object *platformVal);
85 
86  static const map<string, string> knownPlatforms;
87  static const map<string, string> knownArchitectures;
88 };