@@ -49,14 +49,12 @@ unsigned int Version::VERSION_DECODE_INFO[] = {
4949 0x228BA , 0x2379F , 0x24B0B , 0x2542E , 0x26A64 , 0x27541 , 0x28C69 };
5050int Version::N_VERSION_DECODE_INFOS = 34 ;
5151
52- std::vector<Ref<Version> >& Version::getVersions () {
53- static std::vector<Ref<Version> >* versions = new std::vector<Ref<Version> >();
54- static int initialized = buildVersions ();
55- (void )initialized;
56- return *versions;
52+ std::vector<Ref<Version>>& Version::getVersions () {
53+ static std::vector<Ref<Version>> versions = buildVersions ();
54+ return versions;
5755}
5856
59- int Version::getVersionNumber () { return versionNumber_; }
57+ int Version::N_VERSIONS = 40 ;
6058
6159vector<int > &Version::getAlignmentPatternCenters () { return alignmentPatternCenters_; }
6260
@@ -298,206 +296,206 @@ Ref<BitMatrix> Version::buildFunctionPattern(ErrorHandler &err_handler) {
298296 return functionPattern;
299297}
300298
301- int Version::buildVersions () {
302- getVersions () .push_back (Ref<Version>(new Version (
299+ std::vector<Ref<Version>> Version::buildVersions () {
300+ versions .push_back (Ref<Version>(new Version (
303301 1 , intArray (0 ), new ECBlocks (7 , new ECB (1 , 19 )), new ECBlocks (10 , new ECB (1 , 16 )),
304302 new ECBlocks (13 , new ECB (1 , 13 )), new ECBlocks (17 , new ECB (1 , 9 )))));
305- getVersions () .push_back (Ref<Version>(new Version (
303+ versions .push_back (Ref<Version>(new Version (
306304 2 , intArray (2 , 6 , 18 ), new ECBlocks (10 , new ECB (1 , 34 )), new ECBlocks (16 , new ECB (1 , 28 )),
307305 new ECBlocks (22 , new ECB (1 , 22 )), new ECBlocks (28 , new ECB (1 , 16 )))));
308- getVersions () .push_back (Ref<Version>(new Version (
306+ versions .push_back (Ref<Version>(new Version (
309307 3 , intArray (2 , 6 , 22 ), new ECBlocks (15 , new ECB (1 , 55 )), new ECBlocks (26 , new ECB (1 , 44 )),
310308 new ECBlocks (18 , new ECB (2 , 17 )), new ECBlocks (22 , new ECB (2 , 13 )))));
311- getVersions () .push_back (Ref<Version>(new Version (
309+ versions .push_back (Ref<Version>(new Version (
312310 4 , intArray (2 , 6 , 26 ), new ECBlocks (20 , new ECB (1 , 80 )), new ECBlocks (18 , new ECB (2 , 32 )),
313311 new ECBlocks (26 , new ECB (2 , 24 )), new ECBlocks (16 , new ECB (4 , 9 )))));
314- getVersions () .push_back (Ref<Version>(new Version (
312+ versions .push_back (Ref<Version>(new Version (
315313 5 , intArray (2 , 6 , 30 ), new ECBlocks (26 , new ECB (1 , 108 )), new ECBlocks (24 , new ECB (2 , 43 )),
316314 new ECBlocks (18 , new ECB (2 , 15 ), new ECB (2 , 16 )),
317315 new ECBlocks (22 , new ECB (2 , 11 ), new ECB (2 , 12 )))));
318- getVersions () .push_back (Ref<Version>(new Version (
316+ versions .push_back (Ref<Version>(new Version (
319317 6 , intArray (2 , 6 , 34 ), new ECBlocks (18 , new ECB (2 , 68 )), new ECBlocks (16 , new ECB (4 , 27 )),
320318 new ECBlocks (24 , new ECB (4 , 19 )), new ECBlocks (28 , new ECB (4 , 15 )))));
321- getVersions () .push_back (Ref<Version>(new Version (
319+ versions .push_back (Ref<Version>(new Version (
322320 7 , intArray (3 , 6 , 22 , 38 ), new ECBlocks (20 , new ECB (2 , 78 )),
323321 new ECBlocks (18 , new ECB (4 , 31 )), new ECBlocks (18 , new ECB (2 , 14 ), new ECB (4 , 15 )),
324322 new ECBlocks (26 , new ECB (4 , 13 ), new ECB (1 , 14 )))));
325- getVersions () .push_back (
323+ versions .push_back (
326324 Ref<Version>(new Version (8 , intArray (3 , 6 , 24 , 42 ), new ECBlocks (24 , new ECB (2 , 97 )),
327325 new ECBlocks (22 , new ECB (2 , 38 ), new ECB (2 , 39 )),
328326 new ECBlocks (22 , new ECB (4 , 18 ), new ECB (2 , 19 )),
329327 new ECBlocks (26 , new ECB (4 , 14 ), new ECB (2 , 15 )))));
330- getVersions () .push_back (
328+ versions .push_back (
331329 Ref<Version>(new Version (9 , intArray (3 , 6 , 26 , 46 ), new ECBlocks (30 , new ECB (2 , 116 )),
332330 new ECBlocks (22 , new ECB (3 , 36 ), new ECB (2 , 37 )),
333331 new ECBlocks (20 , new ECB (4 , 16 ), new ECB (4 , 17 )),
334332 new ECBlocks (24 , new ECB (4 , 12 ), new ECB (4 , 13 )))));
335- getVersions () .push_back (Ref<Version>(new Version (10 , intArray (3 , 6 , 28 , 50 ),
333+ versions .push_back (Ref<Version>(new Version (10 , intArray (3 , 6 , 28 , 50 ),
336334 new ECBlocks (18 , new ECB (2 , 68 ), new ECB (2 , 69 )),
337335 new ECBlocks (26 , new ECB (4 , 43 ), new ECB (1 , 44 )),
338336 new ECBlocks (24 , new ECB (6 , 19 ), new ECB (2 , 20 )),
339337 new ECBlocks (28 , new ECB (6 , 15 ), new ECB (2 , 16 )))));
340- getVersions () .push_back (
338+ versions .push_back (
341339 Ref<Version>(new Version (11 , intArray (3 , 6 , 30 , 54 ), new ECBlocks (20 , new ECB (4 , 81 )),
342340 new ECBlocks (30 , new ECB (1 , 50 ), new ECB (4 , 51 )),
343341 new ECBlocks (28 , new ECB (4 , 22 ), new ECB (4 , 23 )),
344342 new ECBlocks (24 , new ECB (3 , 12 ), new ECB (8 , 13 )))));
345- getVersions () .push_back (Ref<Version>(new Version (12 , intArray (3 , 6 , 32 , 58 ),
343+ versions .push_back (Ref<Version>(new Version (12 , intArray (3 , 6 , 32 , 58 ),
346344 new ECBlocks (24 , new ECB (2 , 92 ), new ECB (2 , 93 )),
347345 new ECBlocks (22 , new ECB (6 , 36 ), new ECB (2 , 37 )),
348346 new ECBlocks (26 , new ECB (4 , 20 ), new ECB (6 , 21 )),
349347 new ECBlocks (28 , new ECB (7 , 14 ), new ECB (4 , 15 )))));
350- getVersions () .push_back (
348+ versions .push_back (
351349 Ref<Version>(new Version (13 , intArray (3 , 6 , 34 , 62 ), new ECBlocks (26 , new ECB (4 , 107 )),
352350 new ECBlocks (22 , new ECB (8 , 37 ), new ECB (1 , 38 )),
353351 new ECBlocks (24 , new ECB (8 , 20 ), new ECB (4 , 21 )),
354352 new ECBlocks (22 , new ECB (12 , 11 ), new ECB (4 , 12 )))));
355- getVersions () .push_back (Ref<Version>(new Version (
353+ versions .push_back (Ref<Version>(new Version (
356354 14 , intArray (4 , 6 , 26 , 46 , 66 ), new ECBlocks (30 , new ECB (3 , 115 ), new ECB (1 , 116 )),
357355 new ECBlocks (24 , new ECB (4 , 40 ), new ECB (5 , 41 )),
358356 new ECBlocks (20 , new ECB (11 , 16 ), new ECB (5 , 17 )),
359357 new ECBlocks (24 , new ECB (11 , 12 ), new ECB (5 , 13 )))));
360- getVersions () .push_back (Ref<Version>(new Version (
358+ versions .push_back (Ref<Version>(new Version (
361359 15 , intArray (4 , 6 , 26 , 48 , 70 ), new ECBlocks (22 , new ECB (5 , 87 ), new ECB (1 , 88 )),
362360 new ECBlocks (24 , new ECB (5 , 41 ), new ECB (5 , 42 )),
363361 new ECBlocks (30 , new ECB (5 , 24 ), new ECB (7 , 25 )),
364362 new ECBlocks (24 , new ECB (11 , 12 ), new ECB (7 , 13 )))));
365- getVersions () .push_back (Ref<Version>(new Version (
363+ versions .push_back (Ref<Version>(new Version (
366364 16 , intArray (4 , 6 , 26 , 50 , 74 ), new ECBlocks (24 , new ECB (5 , 98 ), new ECB (1 , 99 )),
367365 new ECBlocks (28 , new ECB (7 , 45 ), new ECB (3 , 46 )),
368366 new ECBlocks (24 , new ECB (15 , 19 ), new ECB (2 , 20 )),
369367 new ECBlocks (30 , new ECB (3 , 15 ), new ECB (13 , 16 )))));
370- getVersions () .push_back (Ref<Version>(new Version (
368+ versions .push_back (Ref<Version>(new Version (
371369 17 , intArray (4 , 6 , 30 , 54 , 78 ), new ECBlocks (28 , new ECB (1 , 107 ), new ECB (5 , 108 )),
372370 new ECBlocks (28 , new ECB (10 , 46 ), new ECB (1 , 47 )),
373371 new ECBlocks (28 , new ECB (1 , 22 ), new ECB (15 , 23 )),
374372 new ECBlocks (28 , new ECB (2 , 14 ), new ECB (17 , 15 )))));
375- getVersions () .push_back (Ref<Version>(new Version (
373+ versions .push_back (Ref<Version>(new Version (
376374 18 , intArray (4 , 6 , 30 , 56 , 82 ), new ECBlocks (30 , new ECB (5 , 120 ), new ECB (1 , 121 )),
377375 new ECBlocks (26 , new ECB (9 , 43 ), new ECB (4 , 44 )),
378376 new ECBlocks (28 , new ECB (17 , 22 ), new ECB (1 , 23 )),
379377 new ECBlocks (28 , new ECB (2 , 14 ), new ECB (19 , 15 )))));
380- getVersions () .push_back (Ref<Version>(new Version (
378+ versions .push_back (Ref<Version>(new Version (
381379 19 , intArray (4 , 6 , 30 , 58 , 86 ), new ECBlocks (28 , new ECB (3 , 113 ), new ECB (4 , 114 )),
382380 new ECBlocks (26 , new ECB (3 , 44 ), new ECB (11 , 45 )),
383381 new ECBlocks (26 , new ECB (17 , 21 ), new ECB (4 , 22 )),
384382 new ECBlocks (26 , new ECB (9 , 13 ), new ECB (16 , 14 )))));
385- getVersions () .push_back (Ref<Version>(new Version (
383+ versions .push_back (Ref<Version>(new Version (
386384 20 , intArray (4 , 6 , 34 , 62 , 90 ), new ECBlocks (28 , new ECB (3 , 107 ), new ECB (5 , 108 )),
387385 new ECBlocks (26 , new ECB (3 , 41 ), new ECB (13 , 42 )),
388386 new ECBlocks (30 , new ECB (15 , 24 ), new ECB (5 , 25 )),
389387 new ECBlocks (28 , new ECB (15 , 15 ), new ECB (10 , 16 )))));
390- getVersions () .push_back (Ref<Version>(new Version (
388+ versions .push_back (Ref<Version>(new Version (
391389 21 , intArray (5 , 6 , 28 , 50 , 72 , 94 ), new ECBlocks (28 , new ECB (4 , 116 ), new ECB (4 , 117 )),
392390 new ECBlocks (26 , new ECB (17 , 42 )), new ECBlocks (28 , new ECB (17 , 22 ), new ECB (6 , 23 )),
393391 new ECBlocks (30 , new ECB (19 , 16 ), new ECB (6 , 17 )))));
394- getVersions () .push_back (Ref<Version>(new Version (
392+ versions .push_back (Ref<Version>(new Version (
395393 22 , intArray (5 , 6 , 26 , 50 , 74 , 98 ), new ECBlocks (28 , new ECB (2 , 111 ), new ECB (7 , 112 )),
396394 new ECBlocks (28 , new ECB (17 , 46 )), new ECBlocks (30 , new ECB (7 , 24 ), new ECB (16 , 25 )),
397395 new ECBlocks (24 , new ECB (34 , 13 )))));
398- getVersions () .push_back (Ref<Version>(new Version (
396+ versions .push_back (Ref<Version>(new Version (
399397 23 , intArray (5 , 6 , 30 , 54 , 78 , 102 ), new ECBlocks (30 , new ECB (4 , 121 ), new ECB (5 , 122 )),
400398 new ECBlocks (28 , new ECB (4 , 47 ), new ECB (14 , 48 )),
401399 new ECBlocks (30 , new ECB (11 , 24 ), new ECB (14 , 25 )),
402400 new ECBlocks (30 , new ECB (16 , 15 ), new ECB (14 , 16 )))));
403- getVersions () .push_back (Ref<Version>(new Version (
401+ versions .push_back (Ref<Version>(new Version (
404402 24 , intArray (5 , 6 , 28 , 54 , 80 , 106 ), new ECBlocks (30 , new ECB (6 , 117 ), new ECB (4 , 118 )),
405403 new ECBlocks (28 , new ECB (6 , 45 ), new ECB (14 , 46 )),
406404 new ECBlocks (30 , new ECB (11 , 24 ), new ECB (16 , 25 )),
407405 new ECBlocks (30 , new ECB (30 , 16 ), new ECB (2 , 17 )))));
408- getVersions () .push_back (Ref<Version>(new Version (
406+ versions .push_back (Ref<Version>(new Version (
409407 25 , intArray (5 , 6 , 32 , 58 , 84 , 110 ), new ECBlocks (26 , new ECB (8 , 106 ), new ECB (4 , 107 )),
410408 new ECBlocks (28 , new ECB (8 , 47 ), new ECB (13 , 48 )),
411409 new ECBlocks (30 , new ECB (7 , 24 ), new ECB (22 , 25 )),
412410 new ECBlocks (30 , new ECB (22 , 15 ), new ECB (13 , 16 )))));
413- getVersions () .push_back (Ref<Version>(new Version (
411+ versions .push_back (Ref<Version>(new Version (
414412 26 , intArray (5 , 6 , 30 , 58 , 86 , 114 ), new ECBlocks (28 , new ECB (10 , 114 ), new ECB (2 , 115 )),
415413 new ECBlocks (28 , new ECB (19 , 46 ), new ECB (4 , 47 )),
416414 new ECBlocks (28 , new ECB (28 , 22 ), new ECB (6 , 23 )),
417415 new ECBlocks (30 , new ECB (33 , 16 ), new ECB (4 , 17 )))));
418- getVersions () .push_back (Ref<Version>(new Version (
416+ versions .push_back (Ref<Version>(new Version (
419417 27 , intArray (5 , 6 , 34 , 62 , 90 , 118 ), new ECBlocks (30 , new ECB (8 , 122 ), new ECB (4 , 123 )),
420418 new ECBlocks (28 , new ECB (22 , 45 ), new ECB (3 , 46 )),
421419 new ECBlocks (30 , new ECB (8 , 23 ), new ECB (26 , 24 )),
422420 new ECBlocks (30 , new ECB (12 , 15 ), new ECB (28 , 16 )))));
423- getVersions () .push_back (
421+ versions .push_back (
424422 Ref<Version>(new Version (28 , intArray (6 , 6 , 26 , 50 , 74 , 98 , 122 ),
425423 new ECBlocks (30 , new ECB (3 , 117 ), new ECB (10 , 118 )),
426424 new ECBlocks (28 , new ECB (3 , 45 ), new ECB (23 , 46 )),
427425 new ECBlocks (30 , new ECB (4 , 24 ), new ECB (31 , 25 )),
428426 new ECBlocks (30 , new ECB (11 , 15 ), new ECB (31 , 16 )))));
429- getVersions () .push_back (
427+ versions .push_back (
430428 Ref<Version>(new Version (29 , intArray (6 , 6 , 30 , 54 , 78 , 102 , 126 ),
431429 new ECBlocks (30 , new ECB (7 , 116 ), new ECB (7 , 117 )),
432430 new ECBlocks (28 , new ECB (21 , 45 ), new ECB (7 , 46 )),
433431 new ECBlocks (30 , new ECB (1 , 23 ), new ECB (37 , 24 )),
434432 new ECBlocks (30 , new ECB (19 , 15 ), new ECB (26 , 16 )))));
435- getVersions () .push_back (
433+ versions .push_back (
436434 Ref<Version>(new Version (30 , intArray (6 , 6 , 26 , 52 , 78 , 104 , 130 ),
437435 new ECBlocks (30 , new ECB (5 , 115 ), new ECB (10 , 116 )),
438436 new ECBlocks (28 , new ECB (19 , 47 ), new ECB (10 , 48 )),
439437 new ECBlocks (30 , new ECB (15 , 24 ), new ECB (25 , 25 )),
440438 new ECBlocks (30 , new ECB (23 , 15 ), new ECB (25 , 16 )))));
441- getVersions () .push_back (
439+ versions .push_back (
442440 Ref<Version>(new Version (31 , intArray (6 , 6 , 30 , 56 , 82 , 108 , 134 ),
443441 new ECBlocks (30 , new ECB (13 , 115 ), new ECB (3 , 116 )),
444442 new ECBlocks (28 , new ECB (2 , 46 ), new ECB (29 , 47 )),
445443 new ECBlocks (30 , new ECB (42 , 24 ), new ECB (1 , 25 )),
446444 new ECBlocks (30 , new ECB (23 , 15 ), new ECB (28 , 16 )))));
447- getVersions () .push_back (Ref<Version>(
445+ versions .push_back (Ref<Version>(
448446 new Version (32 , intArray (6 , 6 , 34 , 60 , 86 , 112 , 138 ), new ECBlocks (30 , new ECB (17 , 115 )),
449447 new ECBlocks (28 , new ECB (10 , 46 ), new ECB (23 , 47 )),
450448 new ECBlocks (30 , new ECB (10 , 24 ), new ECB (35 , 25 )),
451449 new ECBlocks (30 , new ECB (19 , 15 ), new ECB (35 , 16 )))));
452- getVersions () .push_back (
450+ versions .push_back (
453451 Ref<Version>(new Version (33 , intArray (6 , 6 , 30 , 58 , 86 , 114 , 142 ),
454452 new ECBlocks (30 , new ECB (17 , 115 ), new ECB (1 , 116 )),
455453 new ECBlocks (28 , new ECB (14 , 46 ), new ECB (21 , 47 )),
456454 new ECBlocks (30 , new ECB (29 , 24 ), new ECB (19 , 25 )),
457455 new ECBlocks (30 , new ECB (11 , 15 ), new ECB (46 , 16 )))));
458- getVersions () .push_back (
456+ versions .push_back (
459457 Ref<Version>(new Version (34 , intArray (6 , 6 , 34 , 62 , 90 , 118 , 146 ),
460458 new ECBlocks (30 , new ECB (13 , 115 ), new ECB (6 , 116 )),
461459 new ECBlocks (28 , new ECB (14 , 46 ), new ECB (23 , 47 )),
462460 new ECBlocks (30 , new ECB (44 , 24 ), new ECB (7 , 25 )),
463461 new ECBlocks (30 , new ECB (59 , 16 ), new ECB (1 , 17 )))));
464- getVersions () .push_back (
462+ versions .push_back (
465463 Ref<Version>(new Version (35 , intArray (7 , 6 , 30 , 54 , 78 , 102 , 126 , 150 ),
466464 new ECBlocks (30 , new ECB (12 , 121 ), new ECB (7 , 122 )),
467465 new ECBlocks (28 , new ECB (12 , 47 ), new ECB (26 , 48 )),
468466 new ECBlocks (30 , new ECB (39 , 24 ), new ECB (14 , 25 )),
469467 new ECBlocks (30 , new ECB (22 , 15 ), new ECB (41 , 16 )))));
470- getVersions () .push_back (
468+ versions .push_back (
471469 Ref<Version>(new Version (36 , intArray (7 , 6 , 24 , 50 , 76 , 102 , 128 , 154 ),
472470 new ECBlocks (30 , new ECB (6 , 121 ), new ECB (14 , 122 )),
473471 new ECBlocks (28 , new ECB (6 , 47 ), new ECB (34 , 48 )),
474472 new ECBlocks (30 , new ECB (46 , 24 ), new ECB (10 , 25 )),
475473 new ECBlocks (30 , new ECB (2 , 15 ), new ECB (64 , 16 )))));
476- getVersions () .push_back (
474+ versions .push_back (
477475 Ref<Version>(new Version (37 , intArray (7 , 6 , 28 , 54 , 80 , 106 , 132 , 158 ),
478476 new ECBlocks (30 , new ECB (17 , 122 ), new ECB (4 , 123 )),
479477 new ECBlocks (28 , new ECB (29 , 46 ), new ECB (14 , 47 )),
480478 new ECBlocks (30 , new ECB (49 , 24 ), new ECB (10 , 25 )),
481479 new ECBlocks (30 , new ECB (24 , 15 ), new ECB (46 , 16 )))));
482- getVersions () .push_back (
480+ versions .push_back (
483481 Ref<Version>(new Version (38 , intArray (7 , 6 , 32 , 58 , 84 , 110 , 136 , 162 ),
484482 new ECBlocks (30 , new ECB (4 , 122 ), new ECB (18 , 123 )),
485483 new ECBlocks (28 , new ECB (13 , 46 ), new ECB (32 , 47 )),
486484 new ECBlocks (30 , new ECB (48 , 24 ), new ECB (14 , 25 )),
487485 new ECBlocks (30 , new ECB (42 , 15 ), new ECB (32 , 16 )))));
488- getVersions () .push_back (
486+ versions .push_back (
489487 Ref<Version>(new Version (39 , intArray (7 , 6 , 26 , 54 , 82 , 110 , 138 , 166 ),
490488 new ECBlocks (30 , new ECB (20 , 117 ), new ECB (4 , 118 )),
491489 new ECBlocks (28 , new ECB (40 , 47 ), new ECB (7 , 48 )),
492490 new ECBlocks (30 , new ECB (43 , 24 ), new ECB (22 , 25 )),
493491 new ECBlocks (30 , new ECB (10 , 15 ), new ECB (67 , 16 )))));
494- getVersions () .push_back (
492+ versions .push_back (
495493 Ref<Version>(new Version (40 , intArray (7 , 6 , 30 , 58 , 86 , 114 , 142 , 170 ),
496494 new ECBlocks (30 , new ECB (19 , 118 ), new ECB (6 , 119 )),
497495 new ECBlocks (28 , new ECB (18 , 47 ), new ECB (31 , 48 )),
498496 new ECBlocks (30 , new ECB (34 , 24 ), new ECB (34 , 25 )),
499497 new ECBlocks (30 , new ECB (20 , 15 ), new ECB (61 , 16 )))));
500- return getVersions (). size () ;
498+ return versions ;
501499}
502500
503501} // namespace qrcode
0 commit comments