## Class attribute_set

zeep::xml::attribute_set — set of attributes and name_spaces. Is a node_list but with a set interface

## Synopsis

    // In header: <zeep/xml/node.hpp>

    class attribute_set : public  {
    public:
      // types
      typedef basic_node_list< attribute >       ;
      typedef node_list::node_type      ;
      typedef node_list::iterator       ;
      typedef node_list::const_iterator ;
      typedef                         ;
      typedef                         ;        // attribute_set is a bit like a std::map and the key type is a std::string

      // construct/copy/destruct
      (element &);
      (element &, attribute_set &&);
      (element &, attribute_set &);
      attribute_set & (attribute_set &);
      attribute_set & (attribute_set &&) ;

      // public member functions
       () ;
       () ;
       ();
      template< Args>  ();
       ();
       ();
       (, );
       ();
    };

## Description

### `attribute_set` public construct/copy/destruct

1.     (element & e);

2.     (element & e, attribute_set && as);

3.     (element & e, attribute_set & as);

4.     attribute_set & (attribute_set & l);

5.     attribute_set & (attribute_set && l) ;

### `attribute_set` public member functions

1.      ( key) ;

   return true if the attribute with name key is defined

2.      ( key) ;

   return const_iterator to the attribute with name key

3.      ( key);

   return iterator to the attribute with name key

4.     template< Args>  ( args);

   emplace a newly constructed attribute with argumenst args

5.      ( a);

   emplace an attribute move constructed from a

   Returns: | returns a std::pair with an iterator pointing to the inserted attribute and a boolean indicating if this attribute was inserted instead of replaced.

6.      ( pos);

   remove attribute at position pos

7.      ( first,  last);

   remove attributes between first and last

8.      ( key);

   remove attribute with name key