## Class uri

zeep::http::uri — Simple class, should be extended to have setters, one day.

## Synopsis

    // In header: <zeep/http/uri.hpp>

    class uri {
    public:
      // construct/copy/destruct
      uri(const std::string &);
      uri(const uri &);
      uri(uri &&);
      uri & operator=(const uri &);
      uri & operator=(uri &&);
      ~uri();

      // public member functions
      bool empty() const;
      bool is_absolute() const;
      std::string get_scheme() const;
      std::string get_host() const;
      std::filesystem::path get_path() const;
      std::string get_query() const;
      std::string get_fragment() const;
      std::string string() const;
      void swap(uri &) noexcept;
    };

## Description

### `uri` public construct/copy/destruct

1.     uri(const std::string & s);

   constructor that parses the URL in s, throws exception if not valid

2.     uri(const uri & u);

3.     uri(uri && u);

4.     uri & operator=(const uri & u);

5.     uri & operator=(uri && u);

6.     ~uri();

### `uri` public member functions

1.     bool empty() const;

   Return true if url is empty (not useful I guess, you cannot construct an empty url yet)

2.     bool is_absolute() const;

   Return true if the path is absolute, is always false when host is set.

3.     std::string get_scheme() const;

   Return the scheme.

4.     std::string get_host() const;

   Return the host.

5.     std::filesystem::path get_path() const;

   Return the path.

6.     std::string get_query() const;

   Return the query.

7.     std::string get_fragment() const;

   Return the fragment.

8.     std::string string() const;

   Return the URI as a string.

9.     void swap(uri & u) noexcept;