14#ifndef DDCOMPARE_H_INCLUDED
15#define DDCOMPARE_H_INCLUDED
103 const std::string& desc1,
104 const std::string& type2,
105 const std::string& desc2,
106 bool is_subset =
true);
133 const std::string& desc1,
135 const std::string& type2,
136 const std::string& desc2,
138 bool is_subset =
true);
163 const std::string& type2,
165 bool is_subset =
true);
194 const std::string& type2,
197 bool is_subset =
true);
213 const std::string& desc1,
214 const std::string& prefix2,
215 const std::string& desc2,
216 uint32_t flags = icf_none);
229 uint32_t flags = icf_none);
243 const std::string& desc1,
244 const std::string& unit2,
245 const std::string& desc2,
246 uint32_t flags = icf_none);
263 uint32_t flags = icf_none);
276 uint32_t flags = icf_none);
291 const std::string& desc1,
292 const std::string& type2,
293 const std::string& desc2,
362 const std::string& desc1,
363 const std::string& stream2,
364 const std::string& desc2,
419 uint32_t flags = icf_none);
438 uint32_t flags = icf_none);
459 uint32_t flags = icf_none);
478 uint32_t flags = icf_none);
492 const std::string& desc2,
Definition result_type_decl.h:34
Definition ddcompare.h:25
static a_util::result::Result isEqual(const dd::BaseUnit &base_unit1, const dd::BaseUnit &base_unit2, uint32_t flags=icf_none)
isEqual checks whether two unit descriptions are equal.
static a_util::result::Result isEqual(const dd::Unit::RefUnit &ref_unit1, const dd::DataDefinition &source_dd_of_ref_unit1, const dd::Unit::RefUnit &ref_unit2, const dd::DataDefinition &source_dd_of_ref_unit2, uint32_t flags=icf_none)
isEqual checks whether two reference units are equal.
static a_util::result::Result isBinaryEqual(const std::string &type1, const std::string &desc1, ddl::DataRepresentation rep1, const std::string &type2, const std::string &desc2, ddl::DataRepresentation rep2, bool is_subset=true)
isBinaryEqual checks whether two type descriptions describe the same binary data layout....
static a_util::result::Result isEqual(const dd::StructType::Element &elem1, const dd::DataDefinition &source_dd_of_elem1, const dd::StructType::Element &elem2, const dd::DataDefinition &source_dd_of_elem2, uint32_t flags=icf_none)
isEqual checks whether two struct elements are equal. Note that in case of dynamic elements only the ...
static a_util::result::Result isEqualPrefix(const std::string &prefix1, const std::string &desc1, const std::string &prefix2, const std::string &desc2, uint32_t flags=icf_none)
isEqualPrefix checks whether two prefix descriptions are equal.
static a_util::result::Result isEqualType(const std::string &type1, const std::string &desc1, const std::string &type2, const std::string &desc2, uint32_t flags=icf_memory)
isEqual checks whether two type (POD/enum/struct) descriptions are equal. When this is true for a str...
static a_util::result::Result isEqual(const dd::StructType &type1, const dd::DataDefinition &source_dd_of_type1, const dd::StructType &type2, const dd::DataDefinition &source_dd_of_type2, uint32_t flags=icf_memory)
isEqual checks whether two type (POD/enum/struct) descriptions are equal When this is true for a stru...
static a_util::result::Result isEqualStream(const std::string &stream1, const std::string &desc1, const std::string &stream2, const std::string &desc2, uint32_t flags=icf_memory)
isEqual checks whether two stream descriptions are equal.
static a_util::result::Result isEqual(const dd::DataType &type1, const dd::DataType &type2, uint32_t flags=icf_memory)
isEqual checks whether two type (POD) descriptions are equal When this is true for a struct then it a...
static a_util::result::Result isEqualUnit(const std::string &unit1, const std::string &desc1, const std::string &unit2, const std::string &desc2, uint32_t flags=icf_none)
isEqualUnit checks whether two unit descriptions are equal.
static a_util::result::Result isBinaryEqual(const std::string &type1, const dd::DataDefinition &desc1, ddl::DataRepresentation rep1, const std::string &type2, const dd::DataDefinition &desc2, ddl::DataRepresentation rep2, bool is_subset=true)
isBinaryEqual checks whether two type descriptions describe the same binary data layout....
static a_util::result::Result isEqual(const dd::Unit &unit1, const dd::DataDefinition &source_dd_of_unit1, const dd::Unit &unit2, const dd::DataDefinition &source_dd_of_unit2, uint32_t flags=icf_none)
isEqual checks whether two unit descriptions are equal.
static a_util::result::Result isEqual(const dd::EnumType &enum1, const dd::DataDefinition &source_dd_of_enum1, const dd::EnumType &enum2, const dd::DataDefinition &source_dd_of_enum2, uint32_t flags=icf_memory)
isEqual checks whether two type (enum) descriptions are equal When this is true for a struct then it ...
static a_util::result::Result isEqual(const dd::Stream::Struct &stream_struct1, const dd::DataDefinition &source_dd_of_stream_struct1, const dd::Stream::Struct &stream_struct2, const dd::DataDefinition &source_dd_of_stream_struct2, uint32_t flags=icf_none)
isEqual checks whether two stream structs equal.
static a_util::result::Result isEqual(const dd::Stream &stream1, const dd::DataDefinition &source_dd_of_stream1, const dd::Stream &stream2, const dd::DataDefinition &source_dd_of_stream2, uint32_t flags=icf_memory)
isEqual checks whether two stream descriptions are equal.
static a_util::result::Result isEqual(const std::string &desc1, const std::string &desc2, uint32_t flags=dcf_all|dcf_subset)
isEqual checks whether two descriptions are equal.
static a_util::result::Result isBinaryEqual(const std::string &type1, const std::string &desc1, const std::string &type2, const std::string &desc2, bool is_subset=true)
isBinaryEqual checks whether two type descriptions describe the same binary data layout in deserializ...
static a_util::result::Result isEqual(const dd::datamodel::KeyValuePair &key_value_pair1, const dd::datamodel::KeyValuePair &key_value_pair2, uint32_t flags=icf_none)
isEqual checks whether two external declarations of header/elements of enum/properties of streammetat...
static a_util::result::Result isBinaryEqual(const std::string &type1, const dd::DataDefinition &desc1, const std::string &type2, const dd::DataDefinition &desc2, bool is_subset=true)
isBinaryEqual checks whether two type descriptions describe the same binary data layout in deserializ...
static a_util::result::Result isEqual(const dd::StreamMetaType &stream_meta_type1, const dd::DataDefinition &source_dd_of_stream_meta_type1, const dd::StreamMetaType &stream_meta_type2, const dd::DataDefinition &source_dd_of_stream_meta_type2, uint32_t flags=icf_memory)
isEqual checks whether two stream meta types descriptions are equal.
static a_util::result::Result isEqual(const dd::DataDefinition &desc1, const dd::DataDefinition &desc2, uint32_t flags=dcf_all|dcf_subset)
isEqual checks whether two descriptions are equal.
DescriptionCheckFlags
Definition ddcompare.h:30
@ dcf_descriptions
Compares the description attributes as well.
Definition ddcompare.h:43
@ dcf_base_units
Compare baseunits.
Definition ddcompare.h:36
@ dcf_structs
Compare structs.
Definition ddcompare.h:34
@ dcf_visualization_attributes
Check attributes relevant for visualization (min/max/default/scale/offset)
Definition ddcompare.h:45
@ dcf_data_types
Compare datatypes.
Definition ddcompare.h:31
@ dcf_header
Compare the header as well.
Definition ddcompare.h:44
@ dcf_comments
Compares the comment attributes as well.
Definition ddcompare.h:42
@ dcf_subset
Checks whether the first description is a subset of the second.
Definition ddcompare.h:40
@ dcf_everything
Check everything (all flags except the "No" variants)
Definition ddcompare.h:53
@ dcf_stream_meta_types
Compare stream_meta_types.
Definition ddcompare.h:38
@ dcf_all
Compare all elements (see above)
Definition ddcompare.h:39
@ dcf_no_header_dates
Do not compare header dates (date_creation, date_change)
Definition ddcompare.h:50
@ dcf_no_enum_values_check
Do not compare enum values.
Definition ddcompare.h:47
@ dcf_no_recursion
Do not compare sub-entities (elements, ref units, stream structs, ...)
Definition ddcompare.h:48
@ dcf_prefixes
Compare prefixes.
Definition ddcompare.h:37
@ dcf_units
Compare units.
Definition ddcompare.h:32
@ dcf_streams
Compare streams.
Definition ddcompare.h:35
@ dcf_versions
Compares the version attributes as well.
Definition ddcompare.h:41
@ dcf_enums
Compare enums.
Definition ddcompare.h:33
static a_util::result::Result isEqual(const dd::UnitPrefix &prefix1, const dd::UnitPrefix &prefix2, uint32_t flags=icf_none)
isEqual checks whether two prefix descriptions are equal.
ItemCheckFlags
Definition ddcompare.h:59
@ icf_memory
Compare the in-memory representation.
Definition ddcompare.h:61
@ icf_units
Compare the units as well.
Definition ddcompare.h:67
@ icf_descriptions
Compare the comments as well.
Definition ddcompare.h:69
@ icf_everything
Check everything (mind no_recursion and no_enum is not changed here)
Definition ddcompare.h:76
@ icf_names
Compare the names of structs and their elements and stream meta types parent.
Definition ddcompare.h:63
@ icf_versions
Compare the versions of all elements and structs and stream meta types.
Definition ddcompare.h:65
@ icf_visualizations_attributes
Check attributes relevant for visualization (min/max/default/scale/offset)
Definition ddcompare.h:71
@ icf_no_enum_values_check
Do not compare enum values.
Definition ddcompare.h:73
@ icf_subset
Check if the first item is a subset of the second.
Definition ddcompare.h:70
@ icf_comments
Compare the comments as well.
Definition ddcompare.h:68
@ icf_serialized
Compare the serialized representation.
Definition ddcompare.h:62
@ icf_no_recursion
Do not compare sub-entities (elements, ref units, stream structs, ...)
Definition ddcompare.h:74
The Data Definiton class uses the validation model to keep a Data Definition datamodel (ddl::dd::data...
Definition dd.h:92
observable KeyValuePair
Definition datamodel_keyvalue.h:33
DataDefinition object class of datamodel to hold a streamstruct.
Definition datamodel_streams.h:80
observable DataDefinition object class for a Element of a StructType.
Definition datamodel_types.h:736
datamodel for the refUnit
Definition datamodel_units.h:377
datamodel::Stream Stream
Definition dd.h:67
datamodel::DataType DataType
Definition dd.h:51
datamodel::EnumType EnumType
Definition dd.h:55
datamodel::StructType StructType
Definition dd.h:59
datamodel::Unit Unit
Definition dd.h:47
datamodel::UnitPrefix UnitPrefix
Definition dd.h:43
datamodel::StreamMetaType StreamMetaType
Definition dd.h:63
datamodel::BaseUnit BaseUnit
Definition dd.h:39
definition of the ddl namespace
Definition codec.h:21
DataRepresentation
Definition data_representation.h:25