|
GS1 Barcode Syntax Engine — C / C++ API
Library for processing GS1 Application Identifier syntax
|
GS1 Barcode Syntax Engine
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Header-only C++ wrapper for the GS1 Barcode Syntax Engine (requires C++17 or later). Provides idiomatic C++ types (std::string, std::vector, std::optional) and a typed exception hierarchy over the underlying C API; the native context is freed automatically when the gs1encoders::GS1Encoder object is destroyed, whether that is at end-of-scope or as part of a longer-lived holder. For an overview, examples and usage instructions see the main documentation page.
#include <gs1encoders.h>#include <optional>#include <stdexcept>#include <string>#include <vector>
Data Structures | |
| class | gs1encoders::GS1EncoderException |
| Common base class for all exceptions thrown by this wrapper. More... | |
| class | gs1encoders::GS1EncoderGeneralException |
| Thrown to indicate a general problem initialising the library, such as when the underlying AI table cannot be loaded. More... | |
| class | gs1encoders::GS1EncoderParameterException |
| Thrown to indicate a problem with the parameters or input data passed to a setter. When the failure is a linting failure on AI data, gs1encoders::GS1Encoder::err_markup() returns a marked-up rendering of the offending AI. More... | |
| class | gs1encoders::GS1EncoderDigitalLinkException |
| Thrown to indicate an error processing GS1 Digital Link data. More... | |
| class | gs1encoders::GS1EncoderScanDataException |
| Thrown to indicate an error processing barcode scan data. More... | |
| struct | gs1encoders::InitOpts |
| Initialisation options for the gs1encoders::GS1Encoder constructor. More... | |
| class | gs1encoders::GS1Encoder |
| Main class for processing GS1 barcode data, including validation, format conversion, and generation of outputs such as GS1 Digital Link URIs and Human-Readable Interpretation text. More... | |
Namespaces | |
| namespace | gs1encoders |
| Namespace containing the C++ wrapper for the GS1 Barcode Syntax Engine. | |
Enumerations | |
| enum class | gs1encoders::Symbology : int { gs1encoders::Symbology::None = gs1_encoder_sNONE , gs1encoders::Symbology::DataBarOmni = gs1_encoder_sDataBarOmni , gs1encoders::Symbology::DataBarTruncated = gs1_encoder_sDataBarTruncated , gs1encoders::Symbology::DataBarStacked = gs1_encoder_sDataBarStacked , gs1encoders::Symbology::DataBarStackedOmni = gs1_encoder_sDataBarStackedOmni , gs1encoders::Symbology::DataBarLimited = gs1_encoder_sDataBarLimited , gs1encoders::Symbology::DataBarExpanded = gs1_encoder_sDataBarExpanded , gs1encoders::Symbology::UPCA = gs1_encoder_sUPCA , gs1encoders::Symbology::UPCE = gs1_encoder_sUPCE , gs1encoders::Symbology::EAN13 = gs1_encoder_sEAN13 , gs1encoders::Symbology::EAN8 = gs1_encoder_sEAN8 , gs1encoders::Symbology::GS1_128_CCA = gs1_encoder_sGS1_128_CCA , gs1encoders::Symbology::GS1_128_CCC = gs1_encoder_sGS1_128_CCC , gs1encoders::Symbology::QR = gs1_encoder_sQR , gs1encoders::Symbology::DM = gs1_encoder_sDM , gs1encoders::Symbology::DotCode = gs1_encoder_sDotCode , gs1encoders::Symbology::NumSyms = gs1_encoder_sNUMSYMS } |
| Recognised GS1 barcode formats ("symbologies") for processing scan data. More... | |
| enum class | gs1encoders::Validation : int { gs1encoders::Validation::MutexAIs = gs1_encoder_vMUTEX_AIS , gs1encoders::Validation::RequisiteAIs = gs1_encoder_vREQUISITE_AIS , gs1encoders::Validation::RepeatedAIs = gs1_encoder_vREPEATED_AIS , gs1encoders::Validation::DigSigSerialKey = gs1_encoder_vDIGSIG_SERIAL_KEY , gs1encoders::Validation::UnknownAInotDLattr = gs1_encoder_vUNKNOWN_AI_NOT_DL_ATTR , gs1encoders::Validation::NumValidations = gs1_encoder_vNUMVALIDATIONS } |
| Optional AI validation procedures that may be applied to detect invalid inputs. More... | |