# Class attribute_set

- Defined in File node.hpp

## Inheritance Relationships

### Base Type

- `public zeem::node_list< attribute >` (Template Class node_list)

## Class Documentation

class attribute_set : public zeem::node_list<attribute>

  set of attributes and name_spaces. Is a node_list but with a set interface

  Public Functions

  inline explicit attribute_set(element_container *el)

    constructor to create an attribute_set for an element

  inline ~attribute_set() override

    destructor

  inline bool contains(std::string_view key) const

    return true if the attribute with name key is defined

  inline const_iterator find(std::string_view key) const

    return const_iterator to the attribute with name key

  inline iterator find(std::string_view key)

    return iterator to the attribute with name key

  template<typename ...Args>
  inline std::pair<iterator, bool> emplace(Args&&... args)

    emplace a newly constructed attribute with argumenst args

  inline std::pair<iterator, bool> emplace(value_type &&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.

  inline size_type erase(std::string_view key)

    remove attribute with name key

  inline iterator erase(const_iterator pos)

    erase the node at pos

  inline iterator erase(iterator first, iterator last)

    erase the nodes from first to last