17 #include <boost/any.hpp>
18 #include <boost/functional/hash.hpp>
23 #include "opflex/ofcore/OFTypes.h"
48 explicit URI(
const OF_SHARED_PTR<const std::string>& uri);
53 explicit URI(
const std::string& uri);
74 void getElements( std::vector<std::string>& elements)
const;
87 OF_SHARED_PTR<const std::string> uri;
125 #if __cplusplus > 199711L
132 template<>
struct hash<opflex::modb::URI> {
std::ostream & operator<<(std::ostream &os, const URI &uri)
URI stream insertion.
bool operator==(const URI &lhs, const URI &rhs)
Check for URI equality.
URI & operator=(const URI &rhs)
Assignment operator.
bool operator<(const URI &lhs, const URI &rhs)
Comparison operator for sorting.
friend size_t hash_value(URI const &uri)
Compute a hash value for the URI, making URI suitable as a key in a boost::unordered_map.
static const URI ROOT
Static root URI.
Definition: URI.h:84
bool operator!=(const URI &lhs, const URI &rhs)
Check for URI inequality.
size_t hash_value(URI const &uri)
Compute a hash value for the URI, making URI suitable as a key in a boost::unordered_map.
const std::string & toString() const
Get the URI represented as a string.
friend bool operator<(const URI &lhs, const URI &rhs)
Comparison operator for sorting.
A URI is used to identify managed objects in the MODB.
Definition: URI.h:43
friend bool operator!=(const URI &lhs, const URI &rhs)
Check for URI inequality.
void getElements(std::vector< std::string > &elements) const
Parse the URI and get the unescaped path elements from the URI.
URI(const OF_SHARED_PTR< const std::string > &uri)
Construct a URI using the given string representation.
friend bool operator==(const URI &lhs, const URI &rhs)
Check for URI equality.