Esempio n. 1
0
 forceinline size_t
 Base<View,subscribe>::dispose(Space& home) {
   home.ignore(*this,AP_DISPOSE);
   (void) Propagator::dispose(home);
   if (subscribe)
     x.cancel(home,*this,PC_INT_DOM);
   // take care of last_data
   unsigned int literals = ts()->domsize*x.size();
   home.rfree(last_data, sizeof(Tuple*)*literals);
   (void) tupleSet.~TupleSet();
   return sizeof(*this);
 }
Esempio n. 2
0
 forceinline size_t
 Incremental<View>::dispose(Space& home) {
   if (!home.failed()) {
     int literals = static_cast<int>(ts()->domsize*x.size());
     for (int i = literals; i--; )
       if (support_data[i]) {
         SupportEntry* lastse = support_data[i];
         while (lastse->next() != NULL)
           lastse = lastse->next();
         support_data[i]->dispose(home, lastse);
       }
     home.rfree(support_data, sizeof(SupportEntry*)*literals);
   }
   ac.dispose(home);
   (void) Base<View,false>::dispose(home);
   return sizeof(*this);
 }