Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions kamadak_exif/exif_bridge.cc
Original file line number Diff line number Diff line change
Expand Up @@ -511,15 +511,15 @@ Exif::Exif(rust::reader::Exif exif) : exif_(std::move(exif)) {
mnote_fields_ = std::move(mnote_fields);
}

absl::Span<const uint8_t> Exif::buf() const {
absl::Span<const uint8_t> Exif::buf() const& {
return absl::Span<const uint8_t>(buf_);
}

absl::Span<const Field> Exif::fields() const {
absl::Span<const Field> Exif::fields() const& {
return absl::Span<const Field>(fields_);
}

absl::Span<const Field> Exif::mnote_fields() const {
absl::Span<const Field> Exif::mnote_fields() const& {
return absl::Span<const Field>(mnote_fields_);
}

Expand Down
15 changes: 10 additions & 5 deletions kamadak_exif/exif_bridge.h
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,8 @@ class Field {
/**
* The value of this field.
*/
const Value& value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { return value_; };
const Value& value() const& ABSL_ATTRIBUTE_LIFETIME_BOUND { return value_; }
const Value& value() const&& = delete;

private:
friend class Exif;
Expand Down Expand Up @@ -504,17 +505,20 @@ class Exif final {
/**
* Returns the slice that contains the TIFF data.
*/
absl::Span<const uint8_t> buf() const ABSL_ATTRIBUTE_LIFETIME_BOUND;
absl::Span<const uint8_t> buf() const& ABSL_ATTRIBUTE_LIFETIME_BOUND;
absl::Span<const uint8_t> buf() const&& = delete;

/**
* Returns a span of Exif fields.
*/
absl::Span<const Field> fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND;
absl::Span<const Field> fields() const& ABSL_ATTRIBUTE_LIFETIME_BOUND;
absl::Span<const Field> fields() const&& = delete;

/**
* Returns a span of MakerNote fields.
*/
absl::Span<const Field> mnote_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND;
absl::Span<const Field> mnote_fields() const& ABSL_ATTRIBUTE_LIFETIME_BOUND;
absl::Span<const Field> mnote_fields() const&& = delete;

/**
* Returns true if the Exif data (TIFF structure) is in the
Expand Down Expand Up @@ -604,9 +608,10 @@ class ExifBytes final {
/**
* Returns a view to the Exif data.
*/
absl::Span<const uint8_t> view() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
absl::Span<const uint8_t> view() const& ABSL_ATTRIBUTE_LIFETIME_BOUND {
return absl::Span<const uint8_t>(vec_.as_ptr(), vec_.len());
}
absl::Span<const uint8_t> view() const&& = delete;

private:
friend class Writer;
Expand Down
Loading