## Class scope

zeep::http::el::scope

## Synopsis

    // In header: </home/maarten/projects/libzeep/zeep/http/webapp/el.hpp>

    class scope {
    public:
      // construct/copy/destruct
      scope(const request &);
      explicit scope(const scope &);
      scope& operator=(const scope &);

      // public member functions
      template<typename T> void put(const std::string &, const T &);
      template<typename ForwardIterator>
        void put(const std::string &, ForwardIterator, ForwardIterator);
      const object & lookup(const std::string &) const;
      const object & operator[](const std::string &) const;
      object & lookup(const std::string &);
      object & operator[](const std::string &);
      const request & get_request() const;
      template<> void put(const std::string &, const object &);

      // friend functions
      friend std::ostream & operator<<(std::ostream &, const scope &);
    };

## Description

### `scope` public construct/copy/destruct

1.     scope(const request & req);

2.     explicit scope(const scope & next);

3.     scope& operator=(const scope &);

### `scope` public member functions

1.     template<typename T> void put(const std::string & name, const T & value);

2.     template<typename ForwardIterator>
         void put(const std::string & name, ForwardIterator begin,
                  ForwardIterator end);

3.     const object & lookup(const std::string & name) const;

4.     const object & operator[](const std::string & name) const;

5.     object & lookup(const std::string & name);

6.     object & operator[](const std::string & name);

7.     const request & get_request() const;

8.     template<> void put(const std::string & name, const object & value);

### `scope` friend functions

1.     friend std::ostream & operator<<(std::ostream & lhs, const scope & rhs);

   for debugging purposes