summaryrefslogtreecommitdiff
path: root/starts/meaning-vm/level-0/errors.hpp
diff options
context:
space:
mode:
authorolpc user <olpc@xo-5d-f7-86.localdomain>2019-12-26 08:25:31 -0800
committerolpc user <olpc@xo-5d-f7-86.localdomain>2019-12-26 08:25:31 -0800
commitff4aecf759ce565b77575ad8eabcf60c94ee6a29 (patch)
treea208e19b28b3142dce765a0eaec1cb7263e6258b /starts/meaning-vm/level-0/errors.hpp
parent2e93105a29236f7b5d3c7a40e860604185e0b023 (diff)
downloadstandingwithresilience-ff4aecf759ce565b77575ad8eabcf60c94ee6a29.tar.gz
standingwithresilience-ff4aecf759ce565b77575ad8eabcf60c94ee6a29.zip
added crucialness to inner level0
Diffstat (limited to 'starts/meaning-vm/level-0/errors.hpp')
-rw-r--r--starts/meaning-vm/level-0/errors.hpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/starts/meaning-vm/level-0/errors.hpp b/starts/meaning-vm/level-0/errors.hpp
index d46eef7..e599261 100644
--- a/starts/meaning-vm/level-0/errors.hpp
+++ b/starts/meaning-vm/level-0/errors.hpp
@@ -32,6 +32,30 @@ struct no_such_link_type_target : public std::out_of_range
concept* const target;
};
+struct crucial_link_type_target : public std::out_of_range
+{
+ crucial_link_type_target(concept* source, concept* type, concept* target)
+ : std::out_of_range("concept part is crucial"),
+ source(source),
+ type(type),
+ target(type)
+ { }
+
+ concept* const source;
+ concept* const type;
+ concept* const target;
+};
+
+struct crucial_concept : public std::invalid_argument
+{
+ crucial_concept(concept* topic)
+ : std::invalid_argument("concept is crucial"),
+ topic(topic)
+ { }
+
+ concept* const topic;
+};
+
struct link_type_not_unique : public std::invalid_argument
{
link_type_not_unique(concept* source, concept* type)