CVB++ 15.0
decl_config_gs1_databar.hpp
1#pragma once
2
3#include "../../_cexports/c_code_reader.h"
4
5namespace Cvb
6{
7 CVB_BEGIN_INLINE_NS
8
9 namespace CodeReader
10 {
11 class Decoder;
12
13 namespace Config
14 {
15#pragma region GS1DataBar14
17
32 class GS1DataBar14 final : public CompositeCodeBase<GS1DataBar14>
33 {
34 friend class Cvb::CodeReader::Decoder;
35
36 private:
37 GS1DataBar14(Decoder &decoder) noexcept
39 {
40 }
41 };
42
43 template <>
44 struct Mapper<Symbology::GS1DataBar14>
45 {
46 using Type = Config::GS1DataBar14;
47 };
48
49 template <>
50 struct ReverseMapper<Config::GS1DataBar14>
51 {
52 static constexpr Symbology type = Symbology::GS1DataBar14;
53 };
54#pragma endregion
55
56#pragma region GS1DataBarStacked
58
75 class GS1DataBarStacked final : public CompositeCodeBase<GS1DataBarStacked>
76 {
77 friend class Cvb::CodeReader::Decoder;
78
79 public:
80 GS1DataBarStacked &Enable()
81 {
82 SetIntProperty(static_cast<int>(ReverseMapper<Config::GS1DataBar14>().type), 1); // must be enabled, too
84 }
85
86 private:
87 GS1DataBarStacked(Decoder &decoder) noexcept
89 {
90 }
91 };
92
93 template <>
94 struct Mapper<Symbology::GS1DataBarStacked>
95 {
96 using Type = Config::GS1DataBarStacked;
97 };
98
99 template <>
100 struct ReverseMapper<Config::GS1DataBarStacked>
101 {
102 static constexpr Symbology type = Symbology::GS1DataBarStacked;
103 };
104#pragma endregion
105
106#pragma region GS1DataBarLimited
108
123 class GS1DataBarLimited final : public CompositeCodeBase<GS1DataBarLimited>
124 {
125 friend class Cvb::CodeReader::Decoder;
126
127 private:
128 GS1DataBarLimited(Decoder &decoder) noexcept
130 {
131 }
132 };
133
134 template <>
135 struct Mapper<Symbology::GS1DataBarLimited>
136 {
137 using Type = Config::GS1DataBarLimited;
138 };
139
140 template <>
141 struct ReverseMapper<Config::GS1DataBarLimited>
142 {
143 static constexpr Symbology type = Symbology::GS1DataBarLimited;
144 };
145#pragma endregion
146
147#pragma region GS1DataBarExpanded
149
164 class GS1DataBarExpanded final : public CompositeCodeBase<GS1DataBarExpanded>
165 {
166 friend class Cvb::CodeReader::Decoder;
167
168 private:
169 GS1DataBarExpanded(Decoder &decoder) noexcept
171 {
172 }
173 };
174
175 template <>
176 struct Mapper<Symbology::GS1DataBarExpanded>
177 {
178 using Type = Config::GS1DataBarExpanded;
179 };
180
181 template <>
182 struct ReverseMapper<Config::GS1DataBarExpanded>
183 {
184 static constexpr Symbology type = Symbology::GS1DataBarExpanded;
185 };
186#pragma endregion
187
188#pragma region GS1DataBarExpandedStacked
190
205 class GS1DataBarExpandedStacked final : public CompositeCodeBase<GS1DataBarExpandedStacked>
206 {
207 friend class Cvb::CodeReader::Decoder;
208
209 private:
210 GS1DataBarExpandedStacked(Decoder &decoder) noexcept
212 {
213 }
214 };
215
216 template <>
218 {
220 };
221
222 template <>
223 struct ReverseMapper<Config::GS1DataBarExpandedStacked>
224 {
225 static constexpr Symbology type = Symbology::GS1DataBarExpandedStacked;
226 };
227#pragma endregion
228
229 } // namespace Config
230 } // namespace CodeReader
231
232 CVB_END_INLINE_NS
233} // namespace Cvb
Base configuration class for composite codes.
Definition decl_config_base.hpp:289
T & Enable()
Enables decoding for the code type represented by the derived class.
Definition detail_config_base.hpp:16
Configuration class for GS1 Databar-14 (omnidirectional/truncated).
Definition decl_config_gs1_databar.hpp:33
Configuration class for GS1 DataBar Expanded.
Definition decl_config_gs1_databar.hpp:165
Configuration class for GS1 DataBar Expanded Stacked.
Definition decl_config_gs1_databar.hpp:206
Configuration class for GS1 DataBar Limited.
Definition decl_config_gs1_databar.hpp:124
Configuration class for GS1 DataBar Stacked.
Definition decl_config_gs1_databar.hpp:76
Class for decoding.
Definition decl_decoder.hpp:101
This namespace contains the configuration classes for all supported codes.
Definition decl_config_2d_codes.hpp:14
Namespace for all decoding functionalities.
Definition decl_config_2d_codes.hpp:10
Symbology
Enum class listing all supported symbologies.
Definition decl_config_base.hpp:35
@ GS1DataBarStacked
GS1 DataBar Stacked.
Definition decl_config_base.hpp:147
@ GS1DataBarExpandedStacked
GS1 DataBar Expanded Stacked.
Definition decl_config_base.hpp:162
@ GS1DataBarExpanded
GS1 DataBar Expanded.
Definition decl_config_base.hpp:157
@ GS1DataBarLimited
GS1 DataBar Limited.
Definition decl_config_base.hpp:152
@ GS1DataBar14
GS1 DataBar-14.
Definition decl_config_base.hpp:142
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17