diff options
author | Mike Buland <eichlan@xagasoft.com> | 2009-02-08 00:44:10 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2009-02-08 00:44:10 +0000 |
commit | 366a8063730aa7ae696bcb9cf56eafd13d43dfc0 (patch) | |
tree | 42e3597edfde0c183506ad0d452f045cb7726137 /src/hash.h | |
parent | 4f59dec6bad120b72f1bc075715d79bfbe881f7e (diff) | |
download | libbu++-366a8063730aa7ae696bcb9cf56eafd13d43dfc0.tar.gz libbu++-366a8063730aa7ae696bcb9cf56eafd13d43dfc0.tar.bz2 libbu++-366a8063730aa7ae696bcb9cf56eafd13d43dfc0.tar.xz libbu++-366a8063730aa7ae696bcb9cf56eafd13d43dfc0.zip |
So many updates. I recommend using the new FString iterators instead of direct
indexing. It is now many times faster, and requires less overhead. Also,
more stuff iterator related in every class. More on that later.
Diffstat (limited to 'src/hash.h')
-rw-r--r-- | src/hash.h | 35 |
1 files changed, 30 insertions, 5 deletions
@@ -575,7 +575,17 @@ namespace Bu | |||
575 | { | 575 | { |
576 | } | 576 | } |
577 | 577 | ||
578 | bool isActive() | 578 | DEPRECATED bool isActive() const |
579 | { | ||
580 | return !bFinished; | ||
581 | } | ||
582 | |||
583 | bool isValid() const | ||
584 | { | ||
585 | return !bFinished; | ||
586 | } | ||
587 | |||
588 | operator bool() const | ||
579 | { | 589 | { |
580 | return !bFinished; | 590 | return !bFinished; |
581 | } | 591 | } |
@@ -605,7 +615,7 @@ namespace Bu | |||
605 | /** | 615 | /** |
606 | * Iterator equality comparison operator. Iterators the same? | 616 | * Iterator equality comparison operator. Iterators the same? |
607 | */ | 617 | */ |
608 | bool operator==( const iterator &oth ) | 618 | bool operator==( const iterator &oth ) const |
609 | { | 619 | { |
610 | if( bFinished != oth.bFinished ) | 620 | if( bFinished != oth.bFinished ) |
611 | return false; | 621 | return false; |
@@ -624,7 +634,7 @@ namespace Bu | |||
624 | /** | 634 | /** |
625 | * Iterator not equality comparison operator. Not the same? | 635 | * Iterator not equality comparison operator. Not the same? |
626 | */ | 636 | */ |
627 | bool operator!=( const iterator &oth ) | 637 | bool operator!=( const iterator &oth ) const |
628 | { | 638 | { |
629 | return !(*this == oth ); | 639 | return !(*this == oth ); |
630 | } | 640 | } |
@@ -650,6 +660,11 @@ namespace Bu | |||
650 | { | 660 | { |
651 | return hsh.getValueAtPos( nPos ); | 661 | return hsh.getValueAtPos( nPos ); |
652 | } | 662 | } |
663 | |||
664 | const value &operator *() const | ||
665 | { | ||
666 | return hsh.getValueAtPos( nPos ); | ||
667 | } | ||
653 | 668 | ||
654 | /** | 669 | /** |
655 | * Get the key behind this iterator. | 670 | * Get the key behind this iterator. |
@@ -697,6 +712,16 @@ namespace Bu | |||
697 | bool bFinished; | 712 | bool bFinished; |
698 | 713 | ||
699 | public: | 714 | public: |
715 | bool isValid() const | ||
716 | { | ||
717 | return !bFinished; | ||
718 | } | ||
719 | |||
720 | operator bool() const | ||
721 | { | ||
722 | return !bFinished; | ||
723 | } | ||
724 | |||
700 | /** | 725 | /** |
701 | * Iterator incrementation operator. Move the iterator forward. | 726 | * Iterator incrementation operator. Move the iterator forward. |
702 | */ | 727 | */ |
@@ -722,7 +747,7 @@ namespace Bu | |||
722 | /** | 747 | /** |
723 | * Iterator equality comparison operator. Iterators the same? | 748 | * Iterator equality comparison operator. Iterators the same? |
724 | */ | 749 | */ |
725 | bool operator==( const const_iterator &oth ) | 750 | bool operator==( const const_iterator &oth ) const |
726 | { | 751 | { |
727 | if( bFinished != oth.bFinished ) | 752 | if( bFinished != oth.bFinished ) |
728 | return false; | 753 | return false; |
@@ -741,7 +766,7 @@ namespace Bu | |||
741 | /** | 766 | /** |
742 | * Iterator not equality comparison operator. Not the same? | 767 | * Iterator not equality comparison operator. Not the same? |
743 | */ | 768 | */ |
744 | bool operator!=( const const_iterator &oth ) | 769 | bool operator!=( const const_iterator &oth ) const |
745 | { | 770 | { |
746 | return !(*this == oth ); | 771 | return !(*this == oth ); |
747 | } | 772 | } |