File tree Expand file tree Collapse file tree 2 files changed +28
-0
lines changed
modules/openapi-generator/src/main/resources/cpp-rest-sdk-client Expand file tree Collapse file tree 2 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -92,6 +92,15 @@ class {{declspec}} {{classname}}
9292{
9393public:
9494 {{classname} }();
95+ { {classname} }(utility::string_t str);
96+ operator utility::string_t() const {
97+ return enumToStrMap.at(getValue());
98+ }
99+
100+ { {! operator std::string() const {
101+ return enumToStrMap.at(getValue());
102+ } }}
103+
95104 virtual ~{ {classname} }();
96105
97106 /////////////////////////////////////////////
@@ -124,6 +133,21 @@ public:
124133
125134 protected:
126135 e{ {classname} } m_value;
136+ std::map<e { { classname} } ,utility::string_t > enumToStrMap = {
137+ {{#allowableValues} }
138+ { {#enumVars} }
139+ { e{{classname} }::{ {classname} }_{ {{name} }}, "{ {{name} }}" }{ {^-last} },{ {/-last} }
140+ { {/enumVars} }
141+ { {/allowableValues} }
142+ };
143+ std::map<utility::string _t,e{{classname}} > strToEnumMap = {
144+ {{#allowableValues} }
145+ { {#enumVars} }
146+ { " {{{name}}}" , e{{classname} }::{ {classname} }_{ {{name} }} }{ {^-last} },{ {/-last} }
147+ { {/enumVars} }
148+ { {/allowableValues} }
149+ };
150+
127151};
128152{ {/isEnum} }
129153{ {^isEnum} }
Original file line number Diff line number Diff line change @@ -176,6 +176,10 @@ void {{classname}}::setValue({{classname}}::e{{classname}} const value)
176176 m_value = value;
177177}
178178
179+ { {classname} }::{ {classname} }(utility::string_t str){
180+ setValue( strToEnumMap[str] );
181+ }
182+
179183{ {/isEnum} }
180184{ {^isEnum} }
181185
You can’t perform that action at this time.
0 commit comments