22 namespace polyhedral {
24 struct EmptyFilterException :
public std::runtime_error {
25 explicit EmptyFilterException(
const std::string& s) : std::runtime_error(s) {}
28 struct EmptyMappingFilterException :
public std::runtime_error {
29 explicit EmptyMappingFilterException(
const std::string& s)
30 : std::runtime_error(s) {}
33 struct NoBandsException :
public std::runtime_error {
34 explicit NoBandsException(
const std::string& s) : std::runtime_error(s) {}
37 namespace tightening {
38 struct TighteningException :
public std::logic_error {
39 explicit TighteningException(
const std::string& s)
40 : std::logic_error(std::string(
"[TighteningException]") + s) {}
45 struct OutOfRangeException :
public std::out_of_range {
46 explicit OutOfRangeException(
const std::string& s) : std::out_of_range(s) {}
49 struct PromotionLogicError :
public std::logic_error {
50 explicit PromotionLogicError(
const std::string& s) : std::logic_error(s) {}
53 struct PromotionBelowThreadsException :
public PromotionLogicError {
54 explicit PromotionBelowThreadsException(
const std::string& s)
55 : PromotionLogicError(s) {}
58 struct PromotionNYI :
public std::logic_error {
59 explicit PromotionNYI(
const std::string& s) : std::logic_error(s) {}
62 struct GroupingError :
public std::logic_error {
63 explicit GroupingError(
const std::string& s) : std::logic_error(s) {}