#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
+#include "pbd/libpbd_visibility.h"
+
namespace PBD {
-class UUID : public boost::uuids::uuid {
+class LIBPBD_API UUID : public boost::uuids::uuid {
public:
- UUID ()
+ UUID ()
: boost::uuids::uuid (boost::uuids::random_generator()()) {}
UUID (std::string const & str)
: boost::uuids::uuid (boost::uuids::string_generator()(str)) {}
-
+
explicit UUID (boost::uuids::uuid const& u)
: boost::uuids::uuid(u)
{}
operator boost::uuids::uuid() {
return static_cast<boost::uuids::uuid&>(*this);
}
-
+
operator boost::uuids::uuid() const {
return static_cast<boost::uuids::uuid const&>(*this);
}
UUID& operator= (std::string const & str);
std::string to_s () const;
-
+
operator bool() const { return !is_nil(); }
};