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

📄 assoiter.hpp

📁 stl自带源码
💻 HPP
字号:
/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Addison-Wesley, 1999 * * (C) Copyright Nicolai M. Josuttis 1999. * Permission to copy, use, modify, sell and distribute this software * is granted provided this copyright notice appears in all copies. * This software is provided "as is" without express or implied * warranty, and with no claim as to its suitability for any purpose. */#include <iterator>/* template class for insert iterator for associative containers */template <class Container>class asso_insert_iterator : public std::iterator <std::output_iterator_tag,                         void, void, void, void>{  protected:    Container& container;    // container in which elements are inserted  public:    // constructor    explicit asso_insert_iterator (Container& c) : container(c) {    }    // assignment operator    // - inserts a value into the container    asso_insert_iterator<Container>&    operator= (const typename Container::value_type& value) {         container.insert(value);        return *this;    }    // dereferencing is a no-op that returns the iterator itself    asso_insert_iterator<Container>& operator* () {        return *this;    }    // increment operation is a no-op that returns the iterator itself    asso_insert_iterator<Container>& operator++ () {        return *this;    }    asso_insert_iterator<Container>& operator++ (int) {        return *this;    }};/* convenience function to create the inserter */template <class Container>inline asso_insert_iterator<Container> asso_inserter (Container& c){    return asso_insert_iterator<Container>(c);}

⌨️ 快捷键说明

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