Go to the documentation of this file.
18 #ifndef GAZEBO_COMMON_URI_HH_
19 #define GAZEBO_COMMON_URI_HH_
31 class URIQueryPrivate;
46 public:
explicit URIPath(
const std::string &_str);
56 public:
void PushFront(
const std::string &_part);
61 public:
void PushBack(
const std::string &_part);
66 public:
const URIPath &operator/=(
const std::string &_part);
72 public:
const URIPath operator/(
const std::string &_part)
const;
77 public:
bool operator==(
const URIPath &_path)
const;
82 public: std::string Str(
const std::string &_delim =
"/")
const;
92 public:
static bool Valid(
const std::string &_str);
96 public:
bool Valid()
const;
101 public:
bool Parse(
const std::string &_str);
107 public:
bool Contains(
const URIPath &_other)
const;
111 private: std::unique_ptr<URIPathPrivate> dataPtr;
122 public:
explicit URIQuery(
const std::string &_str);
132 public:
void Clear();
137 public:
void Insert(
const std::string &_key,
138 const std::string &_value);
148 public:
bool operator==(
const URIQuery &_query)
const;
154 public: std::string Str(
const std::string &_delim =
"&")
const;
159 public:
static bool Valid(
const std::string &_str);
163 public:
bool Valid()
const;
168 public:
bool Parse(
const std::string &_string);
172 private: std::unique_ptr<URIQueryPrivate> dataPtr;
176 class GZ_COMMON_VISIBLE
URI
184 public:
URI(
const std::string &_str);
188 public:
URI(
const URI &_uri);
198 public: std::string Str()
const;
201 public:
void Clear();
205 public: std::string Scheme()
const;
209 public:
void SetScheme(
const std::string &_scheme);
217 public:
const URIPath &Path()
const;
225 public:
const URIQuery &Query()
const;
230 public:
URI &operator=(
const URI &_uri);
235 public:
bool operator==(
const URI &_uri)
const;
239 public:
bool Valid()
const;
244 public:
static bool Valid(
const std::string &_str);
249 public:
bool Parse(
const std::string &_str);
253 private: std::unique_ptr<URIPrivate> dataPtr;
std::string Str() const
Get the URI as a string, which has the form:
A complete URI.
Definition: URI.hh:176
std::string Scheme() const
Get the URI's scheme.
Forward declarations for the common classes.
Definition: Animation.hh:26
void PushBack(const std::string &_part)
Push a new part onto the back of this path.
The query component of a URI.
Definition: URI.hh:115
bool Valid() const
Return true if this is a valid path.
bool Valid() const
Validate this URI.
void Insert(const std::string &_key, const std::string &_value)
Get this query with a new _key=_value pair added.
std::string Str(const std::string &_delim="/") const
Get the path as a string.
std::string Str(const std::string &_delim="&") const
Get the query as a string.
bool operator==(const URI &_uri) const
Return true if the two URIs match.
bool operator==(const URIQuery &_query) const
Return true if the two queries contain the same values.
void PushFront(const std::string &_part)
Push a new part onto the front of this path.
void Clear()
Remove all values of the query.
const URIPath & operator/=(const std::string &_part)
Compound assignment operator.
URIPath & Path()
Get a mutable version of the path component.
bool Parse(const std::string &_str)
Parse a string as URIPath.
The path component of a URI.
Definition: URI.hh:35
URIQuery & operator=(const URIQuery &_query)
Equal operator.
virtual ~URIQuery()
Destructor.
URIQuery & Query()
Get a mutable version of the query component.
void Clear()
Remove all parts of the path.
URI & operator=(const URI &_uri)
Equal operator.
void Clear()
Remove all components of the URI.
const URIPath operator/(const std::string &_part) const
Get the current path with the _part added to the end.
virtual ~URIPath()
Destructor.
bool Valid() const
Check if this is a valid URI query.
URI()
Default constructor.
void SetScheme(const std::string &_scheme)
Set the URI's scheme.
URIPath & operator=(const URIPath &_path)
Equal operator.
bool operator==(const URIPath &_path) const
Return true if the two paths match.
bool Contains(const URIPath &_other) const
Returns true if _other is a subset of this, counting from the beginning.
bool Parse(const std::string &_string)
Parse a string as URIQuery.
bool Parse(const std::string &_str)
Parse a string as URI.