⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gp_ht_map_.hpp

📁 linux下编程用 编译软件
💻 HPP
📖 第 1 页 / 共 2 页
字号:
      PB_ASSOC_CLASS_NAME();      PB_ASSOC_CLASS_NAME(const PB_ASSOC_CLASS_C_DEC& r_other);      PB_ASSOC_CLASS_NAME(const Hash_Fn& r_hash_fn);      PB_ASSOC_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn);      PB_ASSOC_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn, const Comb_Probe_Fn& r_comb_probe_fn);      PB_ASSOC_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn, const Comb_Probe_Fn& r_comb_probe_fn, const Probe_Fn& r_probe_fn);      PB_ASSOC_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn, const Comb_Probe_Fn& r_comb_probe_fn, const Probe_Fn& r_probe_fn, const Resize_Policy& r_resize_policy);      template<class It>      void      copy_from_range(It first_it, It last_it);      virtual      ~PB_ASSOC_CLASS_NAME();      void      swap(PB_ASSOC_CLASS_C_DEC& r_other);      inline size_type      size() const;      inline size_type      max_size() const;      inline bool      empty() const;      Hash_Fn&       get_hash_fn();      const Hash_Fn&       get_hash_fn() const;      Eq_Fn&       get_eq_fn();      const Eq_Fn&       get_eq_fn() const;      Probe_Fn&       get_probe_fn();      const Probe_Fn&       get_probe_fn() const;      Comb_Probe_Fn&       get_comb_probe_fn();      const Comb_Probe_Fn&       get_comb_probe_fn() const;      Resize_Policy&       get_resize_policy();      const Resize_Policy&       get_resize_policy() const;      inline std::pair<find_iterator, bool>      insert(const_reference r_val);      inline data_reference      subscript_imp(const_key_reference r_key);      inline find_iterator      find(const_key_reference r_key);      inline const_find_iterator      find(const_key_reference r_key) const;      inline find_iterator      find_end();      inline const_find_iterator      find_end() const;      inline size_type      erase(const_key_reference r_key, int_to_type<false>);      inline size_type      erase(const_key_reference r_key, int_to_type<true>);      template<class Pred>      inline size_type      erase_if(Pred prd);      void      clear();      inline iterator      begin();      inline const_iterator      begin() const;      inline iterator      end();      inline const_iterator      end() const;#ifdef PB_ASSOC_CC_HT_MAP_DEBUG      virtual void      assert_valid() const;#endif // #ifdef PB_ASSOC_GP_HT_MAP_DEBUG_      virtual void      do_resize(size_type new_size);    private:      typedef PB_ASSOC_TYPES_TRAITS_C_DEC my_traits_base;      typedef PB_ASSOC_HASH_TYPES_TRAITS_C_DEC my_hash_traits_base;      typedef PB_ASSOC_RANGED_PROBE_FN_C_DEC my_ranged_probe_fn_base;#ifdef PB_ASSOC_GP_HT_MAP_DEBUG_      typedef PB_ASSOC_MAP_DEBUG_BASE_C_DEC my_map_debug_base;#endif // #ifdef PB_ASSOC_GP_HT_MAP_DEBUG_      typedef PB_ASSOC_HASH_EQ_FN_C_DEC my_hash_eq_fn_base;      typedef Resize_Policy my_resize_base;      friend class iterator_;      friend class const_iterator_;    private:      void      deallocate_all();      void      initialize();      inline void      constructor_insert_new_imp(const_reference r_val, size_type pos, int_to_type<true>);      inline void      constructor_insert_new_imp(const_reference r_val, size_type pos, int_to_type<false>);      void      erase_all_valid_entries(entry_array a_entries_resized, size_type size);      inline bool      do_resize_if_needed();      inline void      do_resize_if_needed_no_throw();      void      resize_imp(entry_array a_entries_resized, size_type old_size);      inline void      resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized, int_to_type<false>);      inline void      resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized, int_to_type<true>);      inline size_type      find_ins_pos(const_key_reference r_key, int_to_type<false>);      inline comp_hash      find_ins_pos(const_key_reference r_key, int_to_type<true>);      inline std::pair<find_iterator, bool>      insert_imp(const_reference r_val, int_to_type<false>);      inline std::pair<find_iterator, bool>      insert_imp(const_reference r_val, int_to_type<true>);      inline pointer      insert_new_imp(const_reference r_val, size_type pos);      inline pointer      insert_new_imp(const_reference r_val, comp_hash& r_pos_hash_pair);      inline data_reference      subscript_imp(const_key_reference r_key, int_to_type<false>);      inline data_reference      subscript_imp(const_key_reference r_key, int_to_type<true>);      inline const_data_reference      const_subscript_imp(const_key_reference r_key) const;      inline pointer      find_key_pointer(const_key_reference r_key, int_to_type<false>);      inline pointer      find_key_pointer(const_key_reference r_key, int_to_type<true>);      inline const_data_reference      const_subscript_imp(const_key_reference r_key, int_to_type<false>) const;      inline const_data_reference      const_subscript_imp(const_key_reference r_key, int_to_type<true>) const;      inline size_type      erase_in_pos_imp(const_key_reference r_key, const comp_hash& r_pos_hash_pair);      inline void      erase_entry(entry_pointer p_e);#ifdef PB_ASSOC_DATA_TRUE_INDICATOR      void      inc_it_state(pointer& r_p_value, size_type& r_pos) const;#endif // #ifdef PB_ASSOC_DATA_TRUE_INDICATOR      void      inc_it_state(const_pointer& r_p_value, size_type& r_pos) const;      void      get_start_it_state(const_pointer& r_p_value, size_type& r_pos) const;      void      get_start_it_state(pointer& r_p_value, size_type& r_pos);#ifdef PB_ASSOC_CC_HT_MAP_DEBUG      void      assert_entry_array_valid(const entry_array a_entries, int_to_type<false>) const;      void      assert_entry_array_valid(const entry_array a_entries, int_to_type<true>) const;#endif // #ifdef PB_ASSOC_GP_HT_MAP_DEBUG_    private:      static entry_allocator s_entry_allocator;      entry_pointer m_a_entries;      size_type m_num_e;      size_type m_num_used_e;      static iterator s_end_it;      static const_iterator s_const_end_it;      enum	{	  store_hash_ok =	  !Store_Hash ||	  !pb_assoc::detail::is_same_type<	  Hash_Fn,	  pb_assoc::null_hash_fn>::value	};      PB_ASSOC_STATIC_ASSERT(sth, store_hash_ok);    };#include <ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_fn_imps.hpp>#include <ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp>#include <ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp>#include <ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp>#include <ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp>#include <ext/pb_assoc/detail/gp_ht_map_/policy_access_fn_imps.hpp>#include <ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp>#include <ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp>#include <ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp>#undef PB_ASSOC_CLASS_T_DEC#undef PB_ASSOC_CLASS_C_DEC#undef PB_ASSOC_HASH_EQ_FN_C_DEC#undef PB_ASSOC_RANGED_PROBE_FN_C_DEC#undef PB_ASSOC_TYPES_TRAITS_C_DEC#undef PB_ASSOC_HASH_TYPES_TRAITS_C_DEC#undef PB_ASSOC_MAP_DEBUG_BASE_C_DEC#undef PB_ASSOC_CLASS_NAME#undef PB_ASSOC_V2F#undef PB_ASSOC_V2S#undef PB_ASSOC_DBG_ASSERT#undef PB_ASSOC_DBG_VERIFY#undef PB_ASSOC_DBG_ONLY#undef PB_ASSOC_STATIC_ASSERT  } // namespace detail} // namespace pb_assoc

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -