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

📄 assoc_cntnr.hpp

📁 linux下编程用 编译软件
💻 HPP
📖 第 1 页 / 共 3 页
字号:
    void    swap(PB_ASSOC_CLASS_C_DEC& r_other);    comb_probe_fn&     get_comb_probe_fn();    const comb_probe_fn&     get_comb_probe_fn() const;    probe_fn&     get_probe_fn();    const probe_fn&     get_probe_fn() const;  private:    typedef PB_ASSOC_BASE_C_DEC my_base;  };#include <ext/pb_assoc/detail/gp_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp>#undef PB_ASSOC_CLASS_T_DEC#undef  PB_ASSOC_CLASS_C_DEC#undef  PB_ASSOC_BASE_C_DEC#define PB_ASSOC_CLASS_T_DEC \	template< \		typename Key, \		typename Data, \		class Cmp_Fn, \		class DS_Tag, \		class Node_Updator, \		class Allocator>#define PB_ASSOC_CLASS_C_DEC \	basic_tree_assoc_cntnr< \		Key, \		Data, \		Cmp_Fn, \		DS_Tag, \		Node_Updator, \		Allocator>#define PB_ASSOC_BASE_C_DEC \	basic_assoc_cntnr< \		Key, \		Data, \		DS_Tag, \		pb_assoc::detail::typelist< \			PB_ASSOC_TYPELIST_CHAIN2( Cmp_Fn, Node_Updator) >, \		Allocator>  template<typename Key,	   typename Data,	   class Cmp_Fn,	   class DS_Tag,	   class Node_Updator,	   class Allocator>  class basic_tree_assoc_cntnr : public PB_ASSOC_BASE_C_DEC  {  public:    typedef typename Allocator::size_type size_type;    typedef    typename Allocator::template rebind<      Key>::other::const_reference    const_key_reference;    typedef Cmp_Fn cmp_fn;    typedef Node_Updator node_updator;    typedef typename PB_ASSOC_BASE_C_DEC::const_iterator const_iterator;    typedef typename PB_ASSOC_BASE_C_DEC::iterator iterator;    typedef    typename PB_ASSOC_BASE_C_DEC::const_reverse_iterator    const_reverse_iterator;    typedef    typename PB_ASSOC_BASE_C_DEC::reverse_iterator    reverse_iterator;    typedef    typename PB_ASSOC_BASE_C_DEC::const_node_iterator    const_node_iterator;    typedef typename PB_ASSOC_BASE_C_DEC::node_iterator node_iterator;    virtual    ~basic_tree_assoc_cntnr();    cmp_fn&     get_cmp_fn();    const cmp_fn&     get_cmp_fn() const;    node_updator&     get_node_updator();    const node_updator&     get_node_updator() const;    inline size_type    erase(const_key_reference r_key);    inline iterator    erase(iterator it);    inline reverse_iterator    erase(reverse_iterator it)    {      return (my_base::erase(it));    }    inline reverse_iterator    rbegin()    {      return (my_base::rbegin());    }    inline const_reverse_iterator    rbegin() const    {      return (my_base::rbegin());    }    inline reverse_iterator    rend()    {      return (my_base::rend());    }    inline const_reverse_iterator    rend() const    {      return (my_base::rend());    }    inline node_iterator    node_begin()    {      return (my_base::node_begin());    }    inline const_node_iterator    node_begin() const    {      return (my_base::node_begin());    }    inline node_iterator    node_end()    {      return (my_base::node_end());    }    inline const_node_iterator    node_end() const    {      return (my_base::node_end());    }    void    join(PB_ASSOC_CLASS_C_DEC& r_other);    inline void    split(const_key_reference r_key, PB_ASSOC_CLASS_C_DEC& r_other);  protected:#define PB_ASSOC_CLASS_NAME basic_tree_assoc_cntnr#define PB_ASSOC_DIRECT_BASE_C_DEC PB_ASSOC_BASE_C_DEC#define PB_ASSOC_DIRECT_BASE_CAST_C_DEC \	PB_ASSOC_DIRECT_BASE_C_DEC#include <ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp>#undef PB_ASSOC_DIRECT_BASE_CAST_C_DEC#undef PB_ASSOC_CLASS_NAME#undef PB_ASSOC_DIRECT_BASE_C_DEC  private:    typedef PB_ASSOC_BASE_C_DEC my_base;  };#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_range_iteration_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_erase_fn_imps.hpp>#undef PB_ASSOC_CLASS_T_DEC#undef PB_ASSOC_CLASS_C_DEC#undef PB_ASSOC_BASE_C_DEC#define PB_ASSOC_CLASS_T_DEC \	template< \		typename Key, \		typename Data, \		class Cmp_Fn, \		class Node_Updator, \		class Allocator>#define PB_ASSOC_CLASS_C_DEC \	basic_tree_assoc_cntnr< \		Key, \		Data, \		Cmp_Fn, \		ov_tree_ds_tag, \		Node_Updator, \		Allocator>#define PB_ASSOC_BASE_C_DEC \	basic_assoc_cntnr< \		Key, \		Data, \		ov_tree_ds_tag, \		pb_assoc::detail::typelist< \			PB_ASSOC_TYPELIST_CHAIN2( Cmp_Fn, Node_Updator) >, \		Allocator>  template<typename Key,	   typename Data,	   typename Cmp_Fn,	   typename Node_Updator,	   typename Allocator>  class basic_tree_assoc_cntnr<Key, Data, Cmp_Fn, ov_tree_ds_tag, Node_Updator, Allocator>   : public PB_ASSOC_BASE_C_DEC  {  public:    typedef typename Allocator::size_type size_type;    typedef    typename Allocator::template rebind<      Key>::other::const_reference    const_key_reference;    typedef Cmp_Fn cmp_fn;    typedef Node_Updator node_updator;    typedef typename PB_ASSOC_BASE_C_DEC::const_iterator const_iterator;    typedef typename PB_ASSOC_BASE_C_DEC::iterator iterator;    typedef    typename PB_ASSOC_BASE_C_DEC::const_node_iterator    const_node_iterator;    typedef typename PB_ASSOC_BASE_C_DEC::node_iterator node_iterator;    virtual    ~basic_tree_assoc_cntnr();    cmp_fn&     get_cmp_fn();    const cmp_fn&     get_cmp_fn() const;    node_updator&     get_node_updator();    const node_updator&     get_node_updator() const;    inline size_type    erase(const_key_reference r_key);    inline iterator    erase(iterator it);    inline node_iterator    node_begin()    {      return (my_base::node_begin());    }    inline const_node_iterator    node_begin() const    {      return (my_base::node_begin());    }    inline node_iterator    node_end()    {      return (my_base::node_end());    }    inline const_node_iterator    node_end() const    {      return (my_base::node_end());    }    void    join(PB_ASSOC_CLASS_C_DEC& r_other);    inline void    split(const_key_reference r_key, PB_ASSOC_CLASS_C_DEC& r_other);  protected:#define PB_ASSOC_CLASS_NAME basic_tree_assoc_cntnr#define PB_ASSOC_DIRECT_BASE_C_DEC PB_ASSOC_BASE_C_DEC#define PB_ASSOC_DIRECT_BASE_CAST_C_DEC \	PB_ASSOC_DIRECT_BASE_C_DEC#include <ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp>#undef PB_ASSOC_DIRECT_BASE_CAST_C_DEC#undef PB_ASSOC_CLASS_NAME#undef PB_ASSOC_DIRECT_BASE_C_DEC  private:    typedef PB_ASSOC_BASE_C_DEC my_base;  };#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp>#include <ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp>#undef PB_ASSOC_CLASS_T_DEC#undef PB_ASSOC_CLASS_C_DEC#undef PB_ASSOC_BASE_C_DEC#define PB_ASSOC_CLASS_T_DEC \	template< \		typename Key, \		typename Data, \		class Cmp_Fn, \		class DS_Tag, \		class Node_Updator, \		class Allocator>#define PB_ASSOC_CLASS_C_DEC \	tree_assoc_cntnr< \		Key, \		Data, \		Cmp_Fn, \		DS_Tag, \		Node_Updator, \		Allocator>#define PB_ASSOC_BASE_C_DEC \	basic_tree_assoc_cntnr< \		Key, \		Data, \		Cmp_Fn, \		DS_Tag, \		Node_Updator, \		Allocator>  template<typename Key, typename Data, class Cmp_Fn =	std::less<Key>,	   typename DS_Tag = rb_tree_ds_tag,	   typename Node_Updator = pb_assoc::detail::def_node_updator,	   typename Allocator = std::allocator<char> >  class tree_assoc_cntnr : public PB_ASSOC_BASE_C_DEC  {    typedef Cmp_Fn cmp_fn;    typedef Node_Updator node_updator;  public:    tree_assoc_cntnr();    tree_assoc_cntnr(const cmp_fn& r_cmp_fn);    tree_assoc_cntnr(const cmp_fn& r_cmp_fn, const Node_Updator&r);     template<typename It>      tree_assoc_cntnr(It first_it, It last_it);    template<typename It>      tree_assoc_cntnr(It first_it, It last_it, const cmp_fn& r_cmp_fn);    template<typename It>      tree_assoc_cntnr(It, It, const cmp_fn&, const Node_Updator&);    tree_assoc_cntnr(const PB_ASSOC_CLASS_C_DEC& r_other);    virtual    ~tree_assoc_cntnr();    PB_ASSOC_CLASS_C_DEC&     operator=(const PB_ASSOC_CLASS_C_DEC& r_other);    void    swap(PB_ASSOC_CLASS_C_DEC& r_other);  private:    typedef PB_ASSOC_BASE_C_DEC my_base;  };#include <ext/pb_assoc/detail/tree_assoc_cntnr/constructor_destructor_fn_imps.hpp>#undef PB_ASSOC_CLASS_T_DEC#undef PB_ASSOC_CLASS_C_DEC#undef PB_ASSOC_BASE_C_DEC#define PB_ASSOC_CLASS_T_DEC \	template< \		typename Key, \		typename Data, \		class Eq_Fn, \		class Update_Policy, \		class Allocator>#define PB_ASSOC_CLASS_C_DEC \	lu_assoc_cntnr< \		Key, \		Data, \		Eq_Fn, \		Update_Policy, \		Allocator>#define PB_ASSOC_BASE_C_DEC \	basic_assoc_cntnr< \		Key, \		Data, \		lu_ds_tag, \		pb_assoc::detail::typelist< \			PB_ASSOC_TYPELIST_CHAIN2( Eq_Fn, Update_Policy) >, \		Allocator>  template<typename Key,	   typename Data,	   typename Eq_Fn = typename pb_assoc::detail::def_eq_fn<Key>::type,	   typename Update_Policy = pb_assoc::detail::def_update_policy::type,	   typename Allocator = std::allocator<char> >  class lu_assoc_cntnr : public PB_ASSOC_BASE_C_DEC  {  public:    typedef Eq_Fn eq_fn;    typedef Allocator allocator;    typedef Update_Policy update_policy;        lu_assoc_cntnr();        lu_assoc_cntnr(const Eq_Fn& r_eq_fn);        lu_assoc_cntnr(const Eq_Fn& r_eq_fn, const Update_Policy& r_update_policy);        template<typename It>      lu_assoc_cntnr(It first_it, It last_it);    template<typename It>      lu_assoc_cntnr(It first_it, It last_it, const Eq_Fn& r_eq_fn);    template<typename It>      lu_assoc_cntnr(It, It, const Eq_Fn&, const Update_Policy&);    lu_assoc_cntnr(const PB_ASSOC_CLASS_C_DEC& r_other);    virtual    ~lu_assoc_cntnr();    PB_ASSOC_CLASS_C_DEC&     operator=(const PB_ASSOC_CLASS_C_DEC& r_other);    void    swap(PB_ASSOC_CLASS_C_DEC& r_other);    eq_fn&     get_eq_fn();    const eq_fn&     get_eq_fn() const;    update_policy&     get_update_policy();    const update_policy&     get_update_policy() const;  private:    typedef PB_ASSOC_BASE_C_DEC my_base;  };#include <ext/pb_assoc/detail/lu_assoc_cntnr/constructor_destructor_fn_imps.hpp>#include <ext/pb_assoc/detail/lu_assoc_cntnr/policy_access_fn_imps.hpp>#undef PB_ASSOC_CLASS_T_DEC#undef PB_ASSOC_CLASS_C_DEC#undef PB_ASSOC_BASE_C_DEC#undef PB_ASSOC_TYPELIST_CHAIN1#undef PB_ASSOC_TYPELIST_CHAIN2#undef PB_ASSOC_TYPELIST_CHAIN3#undef PB_ASSOC_TYPELIST_CHAIN4#undef PB_ASSOC_TYPELIST_CHAIN5#undef PB_ASSOC_TYPELIST_CHAIN6#undef PB_ASSOC_TYPELIST_CHAIN7#undef PB_ASSOC_TYPELIST_CHAIN8#undef PB_ASSOC_TYPELIST_CHAIN9#undef PB_ASSOC_TYPELIST_CHAIN10#undef PB_ASSOC_TYPELIST_CHAIN11#undef PB_ASSOC_TYPELIST_CHAIN12#undef PB_ASSOC_TYPELIST_CHAIN13#undef PB_ASSOC_TYPELIST_CHAIN14#undef PB_ASSOC_TYPELIST_CHAIN15} // namespace pb_assoc#endif // #ifndef ASSOC_CNTNR_HPP

⌨️ 快捷键说明

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