@@ -568,6 +568,17 @@ struct Interface<SpaceLike>:
568
568
void killSpace (RichNode self, VM vm) {
569
569
raiseTypeError (vm, MOZART_STR (" Space" ), self);
570
570
}
571
+
572
+ void injectSpace (RichNode self, VM vm, RichNode callable) {
573
+ raiseTypeError (vm, MOZART_STR (" Space" ), self);
574
+ }
575
+
576
+ #ifdef VM_HAS_CSS
577
+ void info (RichNode self, VM vm) {
578
+ raiseTypeError (vm, MOZART_STR (" Space" ), self);
579
+ }
580
+ #endif
581
+
571
582
};
572
583
573
584
class ThreadLike ;
@@ -669,6 +680,96 @@ struct Interface<StringLike>:
669
680
}
670
681
};
671
682
683
+ #ifdef VM_HAS_CSS
684
+ class ConstraintVar ;
685
+ template <>
686
+ struct Interface <ConstraintVar>:
687
+ ImplementedBy<SmallInt, CstIntVar>,
688
+ NoAutoReflectiveCalls {
689
+
690
+ bool assigned (RichNode self, VM vm) {
691
+ raiseTypeError (vm, MOZART_STR (" ConstraintVar" ), self);
692
+ }
693
+ };
694
+
695
+ class IntVarLike ;
696
+ template <>
697
+ struct Interface <IntVarLike>:
698
+ ImplementedBy<SmallInt, CstIntVar>,
699
+ NoAutoReflectiveCalls {
700
+
701
+ bool isIntVarLike (RichNode self, VM vm) {
702
+ return false ;
703
+ }
704
+
705
+ Gecode::IntVar& intVar (RichNode self, VM vm) {
706
+ raiseTypeError (vm, MOZART_STR (" IntVarLike" ), self);
707
+ }
708
+
709
+ UnstableNode min (RichNode self, VM vm) {
710
+ raiseTypeError (vm, MOZART_STR (" IntVarLike" ), self);
711
+ }
712
+
713
+ UnstableNode max (RichNode self, VM vm) {
714
+ raiseTypeError (vm, MOZART_STR (" IntVarLike" ), self);
715
+ }
716
+
717
+ UnstableNode value (RichNode self, VM vm) {
718
+ raiseTypeError (vm, MOZART_STR (" IntVarLike" ), self);
719
+ }
720
+
721
+ UnstableNode isIn (RichNode self, VM vm, RichNode right) {
722
+ raiseTypeError (vm, MOZART_STR (" IntVarLike" ), self);
723
+ }
724
+ };
725
+
726
+ class SetVarLike ;
727
+ template <>
728
+ struct Interface <SetVarLike>:
729
+ ImplementedBy<CstSetVar>,
730
+ NoAutoReflectiveCalls {
731
+
732
+ bool isSetVarLike (RichNode self, VM vm) {
733
+ return false ;
734
+ }
735
+
736
+ Gecode::SetVar& setVar (RichNode self, VM vm) {
737
+ raiseTypeError (vm, MOZART_STR (" SetVarLike" ), self);
738
+ }
739
+ };
740
+
741
+ class BoolVarLike ;
742
+ template <>
743
+ struct Interface <BoolVarLike>:
744
+ ImplementedBy<CstBoolVar>,
745
+ NoAutoReflectiveCalls {
746
+
747
+ bool isBoolVarLike (RichNode self, VM vm) {
748
+ return false ;
749
+ }
750
+
751
+ Gecode::BoolVar& boolVar (RichNode self, VM vm) {
752
+ raiseTypeError (vm, MOZART_STR (" BoolVarLike" ), self);
753
+ }
754
+ };
755
+
756
+ class ConstraintSpace ;
757
+ template <>
758
+ struct Interface <ConstraintSpace>:
759
+ ImplementedBy<ReifiedSpace>,
760
+ NoAutoReflectiveCalls {
761
+
762
+ bool isConstraintSpace (RichNode self, VM vm) {
763
+ return false ;
764
+ }
765
+
766
+ GecodeSpace& constraintSpace (RichNode self, VM vm) {
767
+ raiseTypeError (vm, MOZART_STR (" ConstraintSpace" ), self);
768
+ }
769
+ };
770
+
771
+ #endif
772
+
672
773
}
673
774
674
775
#endif // __COREINTERFACES_DECL_H
0 commit comments