27#define CHECK_RANGE_1_4(vector, index)\
28 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence == nullptr) { throw invalid_argument("There is no information about the trajectory in this instance"); }\
29 if (index >= static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->vector.size()) { throw std::range_error("The index is out of range"); }
37#define CHECK_ATTRIBUTE_EXISTENCE_1_4(className, attributeName)\
38 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence == nullptr || static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->attributeName == nullptr) { throw std::invalid_argument("The attribute does not exist"); }
47#define CHECK_ATTRIBUTE_IN_VECTOR_EXISTENCE_1_4(className, vectorName, attributeName) \
48 CHECK_RANGE_1_4(vectorName, index)\
49 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->vectorName[index]->attributeName == nullptr) { throw std::invalid_argument("The attribute in vector does not exist"); }
57#define GETTER_PRESENCE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName) \
58 bool GLUE(,className)::has##fesapiAttributeName() const\
59 { return static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence != nullptr && static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName != nullptr; }
61#define GETTER_PRESENCE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName) bool GLUE(,className)::has##fesapiVectorName##fesapiAttributeName(unsigned int index) const {\
62 CHECK_RANGE_1_4(witsmlVectorName, index)\
63 return static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName != nullptr;\
73#define CREATE_ATTRIBUTE_IF_NOT_PRESENT_1_4(attributeName, constructor)\
74 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence == nullptr) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence = soap_new___witsml14__obj_USCOREtrajectory_sequence(gsoapProxyTraj1_4->soap); }\
75 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->attributeName == nullptr) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->attributeName = constructor(gsoapProxyTraj1_4->soap); }
85#define CREATE_ATTRIBUTE_IN_VECTOR_IF_NOT_PRESENT_1_4(vectorName, attributeName, constructor)\
86 CHECK_RANGE_1_4(vectorName, index)\
87 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->vectorName[index]->attributeName == nullptr) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->vectorName[index]->attributeName = constructor(gsoapProxyTraj1_4->soap); }
97#define GETTER_AND_SETTER_ENUM_ATTRIBUTE_IN_VECTOR_IMPL_1_4(attributeDatatype, attributeDatatype14, className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, eml2_1ToStr, strToEml2_1, witsml1_4ToStr, strToWitsml1_4)\
98 void GLUE(,className)::set##fesapiVectorName##fesapiAttributeName(unsigned int index, const attributeDatatype & value) {\
99 CHECK_RANGE_1_4(witsmlVectorName, index)\
100 std::string attStr = eml2_1ToStr(gsoapProxyTraj1_4->soap, value);\
101 attributeDatatype14 att1_4;\
102 if (strToWitsml1_4(gsoapProxyTraj1_4->soap, attStr.c_str(), &att1_4) == SOAP_OK) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName = att1_4; }\
103 else { throw invalid_argument("The enum " + attStr + " is not recognized."); }\
105 attributeDatatype GLUE(,className)::get##fesapiVectorName##fesapiAttributeName(unsigned int index) const {\
106 CHECK_RANGE_1_4(witsmlVectorName, index)\
107 std::string attStr = witsml1_4ToStr(gsoapProxyTraj1_4->soap, static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName);\
108 attributeDatatype att2_1;\
109 if (strToEml2_1(gsoapProxyTraj1_4->soap, attStr.c_str(), &att2_1) == SOAP_OK) { return att2_1; }\
110 else { throw invalid_argument("The enum " + attStr + " is not recognized."); }\
121#define GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_IMPL_1_4(attributeDatatype, className, fesapiAttributeName, witsmlAttributeName, constructor)\
122 void GLUE(,className)::set##fesapiAttributeName(const attributeDatatype & attributeName) {\
123 CREATE_ATTRIBUTE_IF_NOT_PRESENT_1_4(witsmlAttributeName, constructor)\
124 *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName = attributeName;\
126 GETTER_PRESENCE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName)\
127 attributeDatatype GLUE(,className)::get##fesapiAttributeName() const {\
128 CHECK_ATTRIBUTE_EXISTENCE_1_4(className, witsmlAttributeName)\
129 return *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName;\
141#define GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_IN_VECTOR_IMPL_1_4(attributeDatatype, className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, constructor)\
142 void GLUE(,className)::set##fesapiVectorName##fesapiAttributeName(unsigned int index, const attributeDatatype & value) {\
143 CREATE_ATTRIBUTE_IN_VECTOR_IF_NOT_PRESENT_1_4(witsmlVectorName, witsmlAttributeName, constructor)\
144 *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName = value;\
146 GETTER_PRESENCE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName)\
147 attributeDatatype GLUE(,className)::get##fesapiVectorName##fesapiAttributeName(unsigned int index) const {\
148 CHECK_ATTRIBUTE_IN_VECTOR_EXISTENCE_1_4(className, witsmlVectorName, witsmlAttributeName)\
149 return *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName;\
152#define GETTER_AND_SETTER_ENUM_OPTIONAL_ATTRIBUTE_IMPL_1_4(attributeDatatype, attributeDatatype14, className, fesapiAttributeName, witsmlAttributeName, constructor, eml2_1ToStr, strToEml2_1, witsml1_4ToStr, strToWitsml1_4)\
153 void GLUE(,className)::set##fesapiAttributeName(const attributeDatatype & attributeName) {\
154 CREATE_ATTRIBUTE_IF_NOT_PRESENT_1_4(witsmlAttributeName, constructor)\
155 std::string attStr = eml2_1ToStr(gsoapProxyTraj1_4->soap, attributeName);\
156 attributeDatatype14 att1_4;\
157 if (strToWitsml1_4(gsoapProxyTraj1_4->soap, attStr.c_str(), &att1_4) == SOAP_OK) { *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName = att1_4; }\
158 else { throw invalid_argument("The enum " + attStr + " is not recognized."); }\
160 GETTER_PRESENCE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName)\
161 attributeDatatype GLUE(,className)::get##fesapiAttributeName() const {\
162 CHECK_ATTRIBUTE_EXISTENCE_1_4(className, witsmlAttributeName)\
163 std::string attStr = witsml1_4ToStr(gsoapProxyTraj1_4->soap, *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName);\
164 attributeDatatype att2_1;\
165 if (strToEml2_1(gsoapProxyTraj1_4->soap, attStr.c_str(), &att2_1) == SOAP_OK) { return att2_1; }\
166 else { throw invalid_argument("The enum " + attStr + " is not recognized."); }\
169#define GETTER_AND_SETTER_ENUM_OPTIONAL_ATTRIBUTE_IN_VECTOR_IMPL_1_4(attributeDatatype, attributeDatatype14, className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, constructor, eml2_1ToStr, strToEml2_1, witsml1_4ToStr, strToWitsml1_4)\
170 void GLUE(,className)::set##fesapiVectorName##fesapiAttributeName(unsigned int index, const attributeDatatype & attributeName) {\
171 CREATE_ATTRIBUTE_IN_VECTOR_IF_NOT_PRESENT_1_4(witsmlVectorName, witsmlAttributeName, constructor)\
172 std::string attStr = eml2_1ToStr(gsoapProxyTraj1_4->soap, attributeName);\
173 attributeDatatype14 att1_4;\
174 if (strToWitsml1_4(gsoapProxyTraj1_4->soap, attStr.c_str(), &att1_4) == SOAP_OK) { *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName = att1_4; }\
175 else { throw invalid_argument("The enum " + attStr + " is not recognized."); }\
177 GETTER_PRESENCE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName)\
178 attributeDatatype GLUE(,className)::get##fesapiVectorName##fesapiAttributeName(unsigned int index) const {\
179 CHECK_ATTRIBUTE_IN_VECTOR_EXISTENCE_1_4(className, witsmlVectorName, witsmlAttributeName)\
180 std::string attStr = witsml1_4ToStr(gsoapProxyTraj1_4->soap, *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName);\
181 attributeDatatype att2_1;\
182 if (strToEml2_1(gsoapProxyTraj1_4->soap, attStr.c_str(), &att2_1) == SOAP_OK) { return att2_1; }\
183 else { throw invalid_argument("The enum " + attStr + " is not recognized."); }\
192#define GETTER_AND_SETTER_TIME_T_OPTIONAL_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName)\
193 void GLUE(,className)::set##fesapiAttributeName(const time_t & fesapiAttributeName) {\
194 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence == nullptr) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence = soap_new___witsml14__obj_USCOREtrajectory_sequence(gsoapProxyTraj1_4->soap); }\
195 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName == nullptr) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName = (tm*)soap_malloc(gsoapProxyTraj1_4->soap, sizeof(tm)); }\
196 *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName = timeTools::to_calendar_time(std::chrono::system_clock::from_time_t(fesapiAttributeName));\
198 GETTER_PRESENCE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName)\
199 time_t GLUE(,className)::get##fesapiAttributeName() const {\
200 CHECK_ATTRIBUTE_EXISTENCE_1_4(className, witsmlAttributeName)\
201 return timeTools::timegm(*static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName);\
210#define GETTER_VALUE_OF_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName)\
211 double GLUE(,className)::get##fesapiAttributeName##Value() const {\
212 if (!has##fesapiAttributeName()) { throw invalid_argument("The measure attribute to get does not exist."); }\
213 return static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->__item;\
223#define GETTER_VALUE_OF_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName)\
224 double GLUE(,className)::get##fesapiVectorName##fesapiAttributeName##Value(unsigned int index) const {\
225 CHECK_RANGE_1_4(witsmlVectorName, index)\
226 return static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->__item;\
236#define GETTER_UOM_OF_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatype, uom1_4ToStr, strToUom2_1)\
237 uomDatatype GLUE(, className)::get##fesapiAttributeName##Uom() const {\
238 if (!has##fesapiAttributeName()) { throw invalid_argument("The measure attribute to get does not exist."); }\
239 std::string uomStr = uom1_4ToStr(gsoapProxyTraj1_4->soap, static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->uom);\
241 if (strToUom2_1(gsoapProxyTraj1_4->soap, uomStr.c_str(), &result) == SOAP_OK) { return result; }\
242 else { throw invalid_argument("The uom " + uomStr + " is not recognized."); }\
253#define GETTER_UOM_OF_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, uomDatatype, uom1_4ToStr, strToUom2_1)\
254 uomDatatype GLUE(,className)::get##fesapiVectorName##fesapiAttributeName##Uom(unsigned int index) const {\
255 CHECK_RANGE_1_4(witsmlVectorName, index)\
256 std::string uomStr = uom1_4ToStr(gsoapProxyTraj1_4->soap, static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->uom);\
258 if (strToUom2_1(gsoapProxyTraj1_4->soap, uomStr.c_str(), &result) == SOAP_OK) { return result; }\
259 else { throw invalid_argument("The uom " + uomStr + " is not recognized."); }\
269#define GETTER_UOM_OF_MEASURE_AS_STRING_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatypeStringConversion)\
270 std::string GLUE(, className)::get##fesapiAttributeName##UomAsString() const {\
271 return uomDatatypeStringConversion(gsoapProxyTraj1_4->soap, get##fesapiAttributeName##Uom());\
282#define GETTER_AND_SETTER_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatype, uomDatatype14, constructor, eml2_1ToStr, strToEml2_1, witsml1_4ToStr, strToWitsml1_4)\
283 void GLUE(,className)::set##fesapiAttributeName(double value, uomDatatype uom) {\
284 if (value != value) { throw invalid_argument("You cannot set an undefined measure"); }\
285 CREATE_ATTRIBUTE_IF_NOT_PRESENT_1_4(witsmlAttributeName, constructor)\
286 static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->__item = value;\
287 std::string uomStr = eml2_1ToStr(gsoapProxyTraj1_4->soap, uom);\
288 uomDatatype14 uom1_4;\
289 if (strToWitsml1_4(gsoapProxyTraj1_4->soap, uomStr.c_str(), &uom1_4) == SOAP_OK) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->uom = uom1_4; }\
290 else { throw invalid_argument("The depth uom " + uomStr + " is not recognized."); }\
292 GETTER_VALUE_OF_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName)\
293 GETTER_UOM_OF_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatype, witsml1_4ToStr, strToEml2_1)\
294 GETTER_UOM_OF_MEASURE_AS_STRING_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, eml2_1ToStr)
305#define GETTER_AND_SETTER_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, uomDatatype, uomDatatype14, constructor, eml2_1ToStr, strToEml2_1, witsml1_4ToStr, strToWitsml1_4)\
306 void GLUE(,className)::set##fesapiVectorName##fesapiAttributeName(unsigned int index, double value, uomDatatype uom) {\
307 if (value != value) { throw invalid_argument("You cannot set an undefined measured depth coord"); }\
308 CREATE_ATTRIBUTE_IN_VECTOR_IF_NOT_PRESENT_1_4(witsmlVectorName, witsmlAttributeName, constructor)\
309 static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->__item = value;\
310 std::string uomStr = eml2_1ToStr(gsoapProxyTraj1_4->soap, uom);\
311 uomDatatype14 uom1_4;\
312 if (strToWitsml1_4(gsoapProxyTraj1_4->soap, uomStr.c_str(), &uom1_4) == SOAP_OK) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->uom = uom1_4; }\
313 else { throw invalid_argument("The depth uom " + uomStr + " is not recognized."); }\
315 GETTER_VALUE_OF_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName)\
316 GETTER_UOM_OF_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, uomDatatype, witsml1_4ToStr, strToEml2_1)
326#define GETTER_AND_SETTER_DEPTH_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatype, constructor)\
327 void GLUE(,className)::set##fesapiAttributeName(double value, uomDatatype uom, const std::string & datum) {\
328 if (value != value) { throw invalid_argument("You cannot set an undefined depth measure"); }\
329 CREATE_ATTRIBUTE_IF_NOT_PRESENT_1_4(witsmlAttributeName, constructor)\
330 static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->__item = value;\
331 std::string uomStr = gsoap_eml2_1::soap_eml21__LengthUom2s(gsoapProxyTraj1_4->soap, uom);\
332 witsml14__MeasuredDepthUom uom1_4;\
333 if (soap_s2witsml14__MeasuredDepthUom(gsoapProxyTraj1_4->soap, uomStr.c_str(), &uom1_4) == SOAP_OK) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->uom = uom1_4; }\
334 else { throw invalid_argument("The depth uom " + uomStr + " is not recognized."); }\
335 if (!datum.empty()) {\
336 static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->datum = soap_new_std__string(gsoapProxyTraj1_4->soap);\
337 static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->datum->assign(datum);\
340 GETTER_VALUE_OF_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName)\
341 GETTER_UOM_OF_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatype, soap_witsml14__MeasuredDepthUom2s, gsoap_eml2_1::soap_s2eml21__LengthUom)\
342 std::string GLUE(, className)::get##fesapiAttributeName##Datum() const {\
343 if (!has##fesapiAttributeName()) { throw invalid_argument("The measure attribute to get does not exist."); }\
344 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->datum == nullptr) return "";\
345 return *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlAttributeName->datum;\
357#define GETTER_AND_SETTER_DEPTH_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, uomDatatype, constructor)\
358 void GLUE(,className)::set##fesapiVectorName##fesapiAttributeName(unsigned int index, double value, uomDatatype uom, const std::string & datum) {\
359 if (value != value) { throw invalid_argument("You cannot set an undefined measured depth coord"); }\
360 CREATE_ATTRIBUTE_IN_VECTOR_IF_NOT_PRESENT_1_4(witsmlVectorName, witsmlAttributeName, constructor)\
361 static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->__item = value;\
362 std::string uomStr = gsoap_eml2_1::soap_eml21__LengthUom2s(gsoapProxyTraj1_4->soap, uom);\
363 witsml14__MeasuredDepthUom uom1_4;\
364 if (soap_s2witsml14__MeasuredDepthUom(gsoapProxyTraj1_4->soap, uomStr.c_str(), &uom1_4) == SOAP_OK) { static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->uom = uom1_4; }\
365 else { throw invalid_argument("The depth uom " + uomStr + " is not recognized."); }\
366 if (!datum.empty()) {\
367 static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->datum = soap_new_std__string(gsoapProxyTraj1_4->soap);\
368 static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->datum->assign(datum);\
371 GETTER_VALUE_OF_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName)\
372 GETTER_UOM_OF_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, uomDatatype, soap_witsml14__MeasuredDepthUom2s, gsoap_eml2_1::soap_s2eml21__LengthUom)\
373 std::string GLUE(, className)::get##fesapiVectorName##fesapiAttributeName##Datum(unsigned int index) const {\
374 CHECK_RANGE_1_4(witsmlVectorName, index)\
375 if (static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->datum == nullptr) return "";\
376 return *static_cast<witsml14__obj_USCOREtrajectory*>(gsoapProxyTraj1_4)->__obj_USCOREtrajectory_sequence->witsmlVectorName[index]->witsmlAttributeName->datum;\
387#define GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatype, uomDatatype14, constructor, eml2_1ToStr, strToEml2_1, witsml1_4ToStr, strToWitsml1_4)\
388 GETTER_AND_SETTER_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatype, uomDatatype14, constructor, eml2_1ToStr, strToEml2_1, witsml1_4ToStr, strToWitsml1_4)\
389 GETTER_PRESENCE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName)
400#define GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, uomDatatype, uomDatatype14, constructor, eml2_1ToStr, strToEml2_1, witsml1_4ToStr, strToWitsml1_4)\
401 GETTER_AND_SETTER_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, uomDatatype, uomDatatype14, constructor, eml2_1ToStr, strToEml2_1, witsml1_4ToStr, strToWitsml1_4)\
402 GETTER_PRESENCE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName)
412#define GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatype, constructor)\
413 GETTER_AND_SETTER_DEPTH_MEASURE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName, uomDatatype, constructor)\
414 GETTER_PRESENCE_ATTRIBUTE_IMPL_1_4(className, fesapiAttributeName, witsmlAttributeName)
426#define GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, uomDatatype, constructor)\
427 GETTER_AND_SETTER_DEPTH_MEASURE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName, uomDatatype, constructor)\
428 GETTER_PRESENCE_ATTRIBUTE_IN_VECTOR_IMPL_1_4(className, fesapiVectorName, witsmlVectorName, fesapiAttributeName, witsmlAttributeName)