Example #1
0
 forceinline
 void
 IntSetRanges::init(const IntSet& s) {
   int n = s.ranges();
   if (n > 0) {
     i = &static_cast<IntSet::IntSetObject*>(s.object())->r[0]; e = i+n;
   } else {
     i = e = NULL;
   }
 }
Example #2
0
 /// Initialize \a s with iterator \a i
 static void init(IntSet& s, I& i) {
   Support::DynamicArray<IntSet::Range,Heap> d(heap);
   int n=0;
   unsigned int size = 0;
   while (i()) {
     d[n].min = i.min(); d[n].max = i.max(); size += i.width();
     ++n; ++i;
   }
   if (n > 0) {
     IntSet::IntSetObject* o = IntSet::IntSetObject::allocate(n);
     for (int j=n; j--; )
       o->r[j]=d[j];
     o->size = size;
     s.object(o);
   }
 }
Example #3
0
 static void init(IntSet& s, const IntSet& i) {
   s.object(i.object());
 }