diff --git a/core/src/Barcode.cpp b/core/src/Barcode.cpp index e485823816..7163c1f480 100644 --- a/core/src/Barcode.cpp +++ b/core/src/Barcode.cpp @@ -16,6 +16,10 @@ #ifdef ZXING_USE_ZINT #include +void zint_symbol_deleter::operator()(zint_symbol* p) const noexcept +{ + ZBarcode_Delete(p); +} #else struct zint_symbol {}; #endif @@ -150,7 +154,7 @@ ImageView Result::symbol() const return {_symbol->row(0).begin(), _symbol->width(), _symbol->height(), ImageFormat::Lum}; } -void Result::zint(std::unique_ptr&& z) +void Result::zint(unique_zint_symbol&& z) { _zint = std::shared_ptr(std::move(z)); } diff --git a/core/src/Barcode.h b/core/src/Barcode.h index 22c5ecd84f..f7ac4608d3 100644 --- a/core/src/Barcode.h +++ b/core/src/Barcode.h @@ -22,6 +22,12 @@ extern "C" struct zint_symbol; namespace ZXing { class BitMatrix; } + +struct zint_symbol_deleter +{ + void operator()(zint_symbol* p) const noexcept; +}; +using unique_zint_symbol = std::unique_ptr; #endif #include @@ -171,7 +177,7 @@ class Result #ifdef ZXING_EXPERIMENTAL_API void symbol(BitMatrix&& bits); ImageView symbol() const; - void zint(std::unique_ptr&& z); + void zint(unique_zint_symbol&& z); zint_symbol* zint() const { return _zint.get(); } #endif diff --git a/core/src/WriteBarcode.cpp b/core/src/WriteBarcode.cpp index da69af0c58..bc28898869 100644 --- a/core/src/WriteBarcode.cpp +++ b/core/src/WriteBarcode.cpp @@ -17,11 +17,6 @@ #ifdef ZXING_USE_ZINT #include -template <> -struct std::default_delete -{ - void operator()(zint_symbol* p) const noexcept { ZBarcode_Delete(p); } -}; #else @@ -41,7 +36,7 @@ struct CreatorOptions::Data // symbol size (qrcode, datamatrix, etc), map from I, 'WxH' // structured_append (idx, cnt, ID) - mutable std::unique_ptr zint; + mutable unique_zint_symbol zint; #if __cplusplus <= 201703L || defined(__APPLE__) Data(BarcodeFormat f) : format(f) {} pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy