Simplified C++ code with vector range constructor.

pull/16/head
Project Nayuki 7 years ago
parent fca2a8a27c
commit 6f9116dfcb

@ -26,6 +26,7 @@
#include <cstdint> #include <cstdint>
#include <cstdlib> #include <cstdlib>
#include <cstring>
#include <iostream> #include <iostream>
#include <string> #include <string>
#include <vector> #include <vector>
@ -124,9 +125,7 @@ static void doSegmentDemo() {
QrCode::Ecc::LOW); QrCode::Ecc::LOW);
printQr(qr2); printQr(qr2);
std::vector<uint8_t> bytes; std::vector<uint8_t> bytes(golden0, golden0 + std::strlen(golden0));
for (const char *temp = golden0; *temp != '\0'; temp++)
bytes.push_back(static_cast<uint8_t>(*temp));
const QrCode qr3 = QrCode::encodeSegments( const QrCode qr3 = QrCode::encodeSegments(
{QrSegment::makeBytes(bytes), QrSegment::makeNumeric(golden1), QrSegment::makeAlphanumeric(golden2)}, {QrSegment::makeBytes(bytes), QrSegment::makeNumeric(golden1), QrSegment::makeAlphanumeric(golden2)},
QrCode::Ecc::LOW); QrCode::Ecc::LOW);

@ -75,9 +75,7 @@ int main() {
// Make list of segments // Make list of segments
std::vector<QrSegment> segs; std::vector<QrSegment> segs;
if (isAscii) { if (isAscii) {
std::vector<char> text; std::vector<char> text(data.cbegin(), data.cend());
for (std::vector<uint8_t>::iterator it = data.begin(); it != data.end(); ++it)
text.push_back((char)*it);
text.push_back('\0'); text.push_back('\0');
segs = QrSegment::makeSegments(text.data()); segs = QrSegment::makeSegments(text.data());
} else } else

Loading…
Cancel
Save