Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 20, 2007, 8:47:13 PM (17 years ago)
Author:
landauf
Message:

added ++it operator to the Iterator (because its faster than it++)

Location:
code/branches/objecthierarchie/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/objecthierarchie/src/Iterator.h

    r224 r225  
    2828            }
    2929
     30            Iterator<T> operator++()
     31            {
     32                this->elementForwards_ = this->elementForwards_->next_;
     33                return *this;
     34            }
     35
    3036            Iterator<T> operator--(int step)
    3137            {
     
    4450                        this->elementBackwards_ = this->elementBackwards_->prev_;
    4551                }
     52            }
    4653
    47                 return copy;
     54            Iterator<T> operator--()
     55            {
     56                if (this->iteratingForwards_)
     57                    this->iteratingForwards_ = false;
     58                else
     59                    this->elementBackwards_ = this->elementBackwards_->prev_;
     60
     61                return *this;
    4862            }
    4963
     
    5165            {
    5266                if (this->iteratingForwards_)
    53                     return /*dynamic_cast<T*>*/(this->elementForwards_->object_);
     67                    return this->elementForwards_->object_;
    5468                else
    55                     return /*dynamic_cast<T*>*/(this->elementBackwards_->object_);
     69                    return this->elementBackwards_->object_;
    5670            }
    5771
     
    5973            {
    6074                if (this->iteratingForwards_)
    61                     return /*dynamic_cast<T*>*/(this->elementForwards_->object_);
     75                    return this->elementForwards_->object_;
    6276                else
    63                     return /*dynamic_cast<T*>*/(this->elementBackwards_->object_);
     77                    return this->elementBackwards_->object_;
    6478
    6579            }
  • code/branches/objecthierarchie/src/orxonox.cc

    r224 r225  
    543543        std::cout << "1\n";
    544544        int count = 0;
    545         for (Iterator<BaseObject> it; it != 0; it++)
     545        for (Iterator<BaseObject> it; it != 0; ++it)
    546546            count++;
    547547        std::cout << "Anzahl BaseObjects: " << count << "\n";
    548548
    549549        count = 0;
    550         for (Iterator<A1> it; it != 0; it++)
     550        for (Iterator<A1> it; it != 0; ++it)
    551551            count++;
    552552        std::cout << "Anzahl A1: " << count << "\n";
    553553
    554554        count = 0;
    555         for (Iterator<A1B1> it; it; it++)
     555        for (Iterator<A1B1> it; it; ++it)
    556556            count++;
    557557        std::cout << "Anzahl A1B1: " << count << "\n";
    558558
    559559        count = 0;
    560         for (Iterator<A1B1C1> it; it; it++)
     560        for (Iterator<A1B1C1> it; it; ++it)
    561561            count++;
    562562        std::cout << "Anzahl A1B1C1: " << count << "\n";
    563563
    564564        count = 0;
    565         for (Iterator<A2> it; it; it++)
     565        for (Iterator<A2> it; it; ++it)
    566566            count++;
    567567        std::cout << "Anzahl A2: " << count << "\n";
     
    585585        }
    586586
    587         for (Iterator<A2B1C1> it; it; it++)
     587        for (Iterator<A2B1C1> it; it; ++it)
    588588            std::cout << "Name: " << it->name_ << "\n";
    589589
    590590        std::cout << "3\n";
    591         for (Iterator<A2B1C1> it; it; it--)
     591        for (Iterator<A2B1C1> it; it; --it)
    592592            std::cout << "Name: " << it->name_ << "\n";
    593593
     
    596596
    597597        std::cout << "5\n";
    598         for (Iterator<A2B1C1> it; it; it++)
     598        for (Iterator<A2B1C1> it; it; ++it)
    599599            std::cout << "Name: " << it->name_ << "\n";
    600600
    601601        std::cout << "6\n";
    602         for (Iterator<A2B1C1> it; it; it--)
     602        for (Iterator<A2B1C1> it; it; --it)
    603603            std::cout << "Name: " << it->name_ << "\n";
    604604
     
    607607
    608608        std::cout << "8\n";
    609         for (Iterator<A2B1C1> it; it; it++)
     609        for (Iterator<A2B1C1> it; it; ++it)
    610610            std::cout << "Name: " << it->name_ << "\n";
    611611
    612612        std::cout << "9\n";
    613         for (Iterator<A2B1C1> it; it; it--)
     613        for (Iterator<A2B1C1> it; it; --it)
    614614            std::cout << "Name: " << it->name_ << "\n";
    615615
     
    618618
    619619        std::cout << "11\n";
    620         for (Iterator<A2B1C1> it; it; it++)
     620        for (Iterator<A2B1C1> it; it; ++it)
    621621            std::cout << "Name: " << it->name_ << "\n";
    622622
    623623        std::cout << "12\n";
    624         for (Iterator<A2B1C1> it; it; it--)
     624        for (Iterator<A2B1C1> it; it; --it)
    625625            std::cout << "Name: " << it->name_ << "\n";
    626626
Note: See TracChangeset for help on using the changeset viewer.