Mercurial > hg > CbC > CbC_gcc
comparison libstdc++-v3/include/bits/hashtable_policy.h @ 155:da32f4b04d38
fix __code name conflict
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 17:51:46 +0900 |
parents | 1830386684a0 |
children |
comparison
equal
deleted
inserted
replaced
151:2eca1fb48fa2 | 155:da32f4b04d38 |
---|---|
703 _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: | 703 _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: |
704 operator[](const key_type& __k) | 704 operator[](const key_type& __k) |
705 -> mapped_type& | 705 -> mapped_type& |
706 { | 706 { |
707 __hashtable* __h = static_cast<__hashtable*>(this); | 707 __hashtable* __h = static_cast<__hashtable*>(this); |
708 __hash_code __code = __h->_M_hash_code(__k); | 708 __hash_code __code0 = __h->_M_hash_code(__k); |
709 std::size_t __bkt = __h->_M_bucket_index(__k, __code); | 709 std::size_t __bkt = __h->_M_bucket_index(__k, __code0); |
710 if (__node_type* __node = __h->_M_find_node(__bkt, __k, __code)) | 710 if (__node_type* __node = __h->_M_find_node(__bkt, __k, __code0)) |
711 return __node->_M_v().second; | 711 return __node->_M_v().second; |
712 | 712 |
713 typename __hashtable::_Scoped_node __node { | 713 typename __hashtable::_Scoped_node __node { |
714 __h, | 714 __h, |
715 std::piecewise_construct, | 715 std::piecewise_construct, |
716 std::tuple<const key_type&>(__k), | 716 std::tuple<const key_type&>(__k), |
717 std::tuple<>() | 717 std::tuple<>() |
718 }; | 718 }; |
719 auto __pos | 719 auto __pos |
720 = __h->_M_insert_unique_node(__k, __bkt, __code, __node._M_node); | 720 = __h->_M_insert_unique_node(__k, __bkt, __code0, __node._M_node); |
721 __node._M_node = nullptr; | 721 __node._M_node = nullptr; |
722 return __pos->second; | 722 return __pos->second; |
723 } | 723 } |
724 | 724 |
725 template<typename _Key, typename _Pair, typename _Alloc, typename _Equal, | 725 template<typename _Key, typename _Pair, typename _Alloc, typename _Equal, |
730 _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: | 730 _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: |
731 operator[](key_type&& __k) | 731 operator[](key_type&& __k) |
732 -> mapped_type& | 732 -> mapped_type& |
733 { | 733 { |
734 __hashtable* __h = static_cast<__hashtable*>(this); | 734 __hashtable* __h = static_cast<__hashtable*>(this); |
735 __hash_code __code = __h->_M_hash_code(__k); | 735 __hash_code __code0 = __h->_M_hash_code(__k); |
736 std::size_t __bkt = __h->_M_bucket_index(__k, __code); | 736 std::size_t __bkt = __h->_M_bucket_index(__k, __code0); |
737 if (__node_type* __node = __h->_M_find_node(__bkt, __k, __code)) | 737 if (__node_type* __node = __h->_M_find_node(__bkt, __k, __code0)) |
738 return __node->_M_v().second; | 738 return __node->_M_v().second; |
739 | 739 |
740 typename __hashtable::_Scoped_node __node { | 740 typename __hashtable::_Scoped_node __node { |
741 __h, | 741 __h, |
742 std::piecewise_construct, | 742 std::piecewise_construct, |
743 std::forward_as_tuple(std::move(__k)), | 743 std::forward_as_tuple(std::move(__k)), |
744 std::tuple<>() | 744 std::tuple<>() |
745 }; | 745 }; |
746 auto __pos | 746 auto __pos |
747 = __h->_M_insert_unique_node(__k, __bkt, __code, __node._M_node); | 747 = __h->_M_insert_unique_node(__k, __bkt, __code0, __node._M_node); |
748 __node._M_node = nullptr; | 748 __node._M_node = nullptr; |
749 return __pos->second; | 749 return __pos->second; |
750 } | 750 } |
751 | 751 |
752 template<typename _Key, typename _Pair, typename _Alloc, typename _Equal, | 752 template<typename _Key, typename _Pair, typename _Alloc, typename _Equal, |
757 _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: | 757 _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: |
758 at(const key_type& __k) | 758 at(const key_type& __k) |
759 -> mapped_type& | 759 -> mapped_type& |
760 { | 760 { |
761 __hashtable* __h = static_cast<__hashtable*>(this); | 761 __hashtable* __h = static_cast<__hashtable*>(this); |
762 __hash_code __code = __h->_M_hash_code(__k); | 762 __hash_code __code0 = __h->_M_hash_code(__k); |
763 std::size_t __bkt = __h->_M_bucket_index(__k, __code); | 763 std::size_t __bkt = __h->_M_bucket_index(__k, __code0); |
764 __node_type* __p = __h->_M_find_node(__bkt, __k, __code); | 764 __node_type* __p = __h->_M_find_node(__bkt, __k, __code0); |
765 | 765 |
766 if (!__p) | 766 if (!__p) |
767 __throw_out_of_range(__N("_Map_base::at")); | 767 __throw_out_of_range(__N("_Map_base::at")); |
768 return __p->_M_v().second; | 768 return __p->_M_v().second; |
769 } | 769 } |
776 _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: | 776 _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: |
777 at(const key_type& __k) const | 777 at(const key_type& __k) const |
778 -> const mapped_type& | 778 -> const mapped_type& |
779 { | 779 { |
780 const __hashtable* __h = static_cast<const __hashtable*>(this); | 780 const __hashtable* __h = static_cast<const __hashtable*>(this); |
781 __hash_code __code = __h->_M_hash_code(__k); | 781 __hash_code __code0 = __h->_M_hash_code(__k); |
782 std::size_t __bkt = __h->_M_bucket_index(__k, __code); | 782 std::size_t __bkt = __h->_M_bucket_index(__k, __code0); |
783 __node_type* __p = __h->_M_find_node(__bkt, __k, __code); | 783 __node_type* __p = __h->_M_find_node(__bkt, __k, __code0); |
784 | 784 |
785 if (!__p) | 785 if (!__p) |
786 __throw_out_of_range(__N("_Map_base::at")); | 786 __throw_out_of_range(__N("_Map_base::at")); |
787 return __p->_M_v().second; | 787 return __p->_M_v().second; |
788 } | 788 } |