X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;ds=sidebyside;f=ref.h;h=e7d41e1d998a8ae8a28582d30a29590da7351f58;hb=cae5d6103b0efeb5cd34cd67c65df745ef4d598b;hp=cc21a5a0c8f7783b159acf5d9fb52e6bcd9a425b;hpb=5c10647d667fc4408b73402db9247181a54a57ad;p=cumulus.git diff --git a/ref.h b/ref.h index cc21a5a..e7d41e1 100644 --- a/ref.h +++ b/ref.h @@ -68,8 +68,9 @@ public: ObjectReference(const std::string& segment, int sequence); ObjectReference(const std::string& segment, const std::string& sequence); + bool is_null() const { return segment.size() == 0; } std::string to_string() const; - static ObjectReference *parse(const std::string& s); + static ObjectReference parse(const std::string& s); std::string get_segment() const { return segment; } std::string get_sequence() const { return object; } @@ -88,6 +89,8 @@ public: void set_range(size_t start, size_t length) { range_start = start; range_length = length; range_valid = true; } + bool merge(ObjectReference ref); + private: std::string segment, object, checksum; size_t range_start, range_length;