namespace PBD {
+/** a unique ID to identify objects numerically */
class LIBPBD_API ID {
public:
ID ();
ID (std::string);
ID (const ID&);
+ ID (uint64_t);
void reset ();
}
bool operator== (const std::string&) const;
+ bool operator== (uint64_t n) const {
+ return _id == n;
+ }
ID& operator= (std::string);
ID& operator= (const ID&);
return _id < other._id;
}
- void print (char* buf, uint32_t bufsize) const;
- std::string to_s() const;
+ std::string to_s () const;
static uint64_t counter() { return _counter; }
static void init_counter (uint64_t val) { _counter = val; }
private:
uint64_t _id;
- int string_assign (std::string);
+ bool string_assign (std::string);
static Glib::Threads::Mutex* counter_lock;
static uint64_t _counter;