change to using once_cell for lazy init

This commit is contained in:
Henry Schimke
2023-01-05 10:53:55 -06:00
parent d2a4b21808
commit 20764559ae
37 changed files with 556 additions and 608 deletions

View File

@@ -22,7 +22,7 @@ use std::{collections::HashMap, rc::Rc};
*
* @author Sean Owen
*/
use lazy_static::lazy_static;
use once_cell::sync::Lazy;
use crate::{
common::{
@@ -34,10 +34,12 @@ use crate::{
use super::{decoded_bit_stream_parser, BitMatrixParser, DataBlock, QRCodeDecoderMetaData};
lazy_static! {
//rsDecoder = new ReedSolomonDecoder(GenericGF.QR_CODE_FIELD_256);
static ref RS_DECODER : ReedSolomonDecoder = ReedSolomonDecoder::new(get_predefined_genericgf(PredefinedGenericGF::QrCodeField256));
}
//rsDecoder = new ReedSolomonDecoder(GenericGF.QR_CODE_FIELD_256);
static RS_DECODER: Lazy<ReedSolomonDecoder> = Lazy::new(|| {
ReedSolomonDecoder::new(get_predefined_genericgf(
PredefinedGenericGF::QrCodeField256,
))
});
pub fn decode_bool_array(image: &Vec<Vec<bool>>) -> Result<DecoderRXingResult, Exceptions> {
decode_bool_array_with_hints(image, &HashMap::new())

View File

@@ -20,13 +20,11 @@ use crate::{common::BitMatrix, Exceptions};
use super::{ErrorCorrectionLevel, FormatInformation};
use lazy_static::lazy_static;
use once_cell::sync::Lazy;
pub type VersionRef = &'static Version;
lazy_static! {
static ref VERSIONS: Vec<Version> = Version::buildVersions();
}
static VERSIONS: Lazy<Vec<Version>> = Lazy::new(|| Version::buildVersions());
/**
* See ISO 18004:2006 Annex D.