AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
plugin_info.h
1#ifndef PLUGINS_PLUGIN_INFO_H
2#define PLUGINS_PLUGIN_INFO_H
3
4#include "bounds.h"
5#include "types.h"
6
7#include <string>
8#include <typeindex>
9#include <vector>
10
11namespace downward::cli::plugins {
12struct ArgumentInfo {
13 std::string key;
14 std::string help;
15 const Type& type;
16 std::string default_value;
17 Bounds bounds;
18 static const std::string NO_DEFAULT;
19
20 // TODO: once we switch to builder, this should no longer be necessary.
21 bool lazy_construction;
22
23 ArgumentInfo(
24 const std::string& key,
25 const std::string& help,
26 const Type& type,
27 const std::string& default_value,
28 const Bounds& bounds,
29 bool lazy_construction = false);
30
31 bool is_optional() const;
32 bool has_default() const;
33};
34
35struct PropertyInfo {
36 std::string property;
37 std::string description;
38
39 PropertyInfo(const std::string& property, const std::string& description);
40};
41
42struct NoteInfo {
43 std::string name;
44 std::string description;
45 bool long_text;
46
47 NoteInfo(
48 const std::string& name,
49 const std::string& description,
50 bool long_text);
51};
52
53struct LanguageSupportInfo {
54 std::string feature;
55 std::string description;
56
57 LanguageSupportInfo(
58 const std::string& feature,
59 const std::string& description);
60};
61} // namespace downward::cli::plugins
62
63#endif