53 template <
typename Tdir, u
int items>
 
   68   SmallSet(
const char *name) : n(0), overflowed(false), name(name) { }
 
   74     this->overflowed = 
false;
 
   83     return this->overflowed;
 
  122     for (uint i = 0; i < this->n; i++) {
 
  123       if (this->data[i].tile == tile && this->data[i].dir == dir) {
 
  124         this->data[i] = this->data[--this->n];
 
  140     for (uint i = 0; i < this->n; i++) {
 
  141       if (this->data[i].tile == tile && this->data[i].dir == dir) 
return true;
 
  158       DEBUG(misc, 0, 
"SignalSegment too complex. Set %s is full (maximum %d)", name, items);
 
  162     this->data[this->n].tile = tile;
 
  163     this->data[this->n].dir = dir;
 
  177     if (this->n == 0) 
return false;
 
  180     *tile = this->data[this->n].tile;
 
  181     *dir = this->data[this->n].dir;
 
  221   if (
_tbdset.Remove(t2, d2)) 
return false;
 
  276   while (
_tbdset.Get(&tile, &enterdir)) {
 
  304           tracks = tracks_masked;
 
  322               if (IsPbsSignal(sig)) {
 
  324               } 
else if (!
_tbuset.Add(tile, reversedir)) {
 
  415   while (
_tbuset.Get(&tile, &trackdir)) {
 
  594   _globset.Add(tile, _search_dir_1[track]);
 
  595   _globset.Add(tile, _search_dir_2[track]);