60 DiscreteProperty(RESQML2_NS::AbstractRepresentation* rep,
const std::string& guid,
const std::string& title,
61 unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind);
81 DiscreteProperty(RESQML2_NS::AbstractRepresentation* rep,
const std::string& guid,
const std::string& title,
82 unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, EML2_NS::PropertyKind* localPropKind);
94 DLL_IMPORT_OR_EXPORT std::string
pushBackRefToExistingIntegerDataset(EML2_NS::AbstractHdfProxy* proxy,
const std::string & datasetName, int64_t nullValue, int64_t minimumValue, int64_t maximumValue)
final;
95 using AbstractValuesProperty::pushBackRefToExistingIntegerDataset;
101 DLL_IMPORT_OR_EXPORT int64_t
getNullValue(uint64_t patchIndex = (std::numeric_limits<uint64_t>::max)()) const final;
111 DLL_IMPORT_OR_EXPORT
void setMinimumValue(int64_t value, uint64_t index = 0) const final;
125 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<int8_t> getInt8Statistics(uint64_t patchIndex) const final {
return getStats(
static_cast<int8_t
>(
getNullValueOfPatch(patchIndex))); }
126 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<uint8_t> getUInt8Statistics(uint64_t patchIndex)
const final {
return getStats(
static_cast<uint8_t
>(getNullValueOfPatch(patchIndex))); }
127 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<int16_t> getInt16Statistics(uint64_t patchIndex)
const final {
return getStats(
static_cast<int16_t
>(getNullValueOfPatch(patchIndex))); }
128 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<uint16_t> getUInt16Statistics(uint64_t patchIndex)
const final {
return getStats(
static_cast<uint16_t
>(getNullValueOfPatch(patchIndex))); }
129 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<int32_t> getInt32Statistics(uint64_t patchIndex)
const final {
return getStats(
static_cast<int32_t
>(getNullValueOfPatch(patchIndex))); }
130 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<uint32_t> getUInt32Statistics(uint64_t patchIndex)
const final {
return getStats(
static_cast<uint32_t
>(getNullValueOfPatch(patchIndex))); }
131 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<int64_t> getInt64Statistics(uint64_t patchIndex)
const final {
return getStats(getNullValueOfPatch(patchIndex)); }
132 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<uint64_t> getUInt64Statistics(uint64_t patchIndex)
const final {
return getStats(
static_cast<uint64_t
>(getNullValueOfPatch(patchIndex))); }
137 DLL_IMPORT_OR_EXPORT
static const char*
XML_NS;
146 size_t getMinimumValueSize()
const;
147 size_t getMaximumValueSize()
const;
150 COMMON_NS::NumberArrayStatistics<T> getStats(T nullValue)
const {
151 COMMON_NS::NumberArrayStatistics<T> result;
152 result.setNullValue(nullValue);
154 const auto minimumValueSize = getMinimumValueSize();
155 for (
size_t i = 0; i < minimumValueSize; ++i) {
156 if (hasMinimumValue(i)) {
157 int64_t minVal = getMinimumValue(i);
158 if constexpr (std::is_signed_v<T>) {
159 if (minVal > (std::numeric_limits<T>::min)() &&
160 minVal < (std::numeric_limits<T>::max)()) {
161 result.setMinimum(
static_cast<T
>(minVal), i);
166 static_cast<uint64_t
>(minVal) < (std::numeric_limits<T>::max)()) {
167 result.setMinimum(
static_cast<T
>(minVal), i);
172 const auto maximumValueSize = getMaximumValueSize();
173 for (
size_t i = 0; i < maximumValueSize; ++i) {
174 if (hasMaximumValue(i)) {
175 int64_t maxVal = getMaximumValue(i);
176 if constexpr (std::is_signed_v<T>) {
177 if (maxVal > (std::numeric_limits<T>::min)() &&
178 maxVal < (std::numeric_limits<T>::max)()) {
179 result.setMaximum(
static_cast<T
>(maxVal), i);
184 static_cast<uint64_t
>(maxVal) < (std::numeric_limits<T>::max)()) {
185 result.setMaximum(
static_cast<T
>(maxVal), i);