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,
A common result class usable as return value throughout.
Utility class to compare data descriptions.
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::UnitPrefix &prefix1, const dd::UnitPrefix &prefix2, uint32_t flags=icf_none)
isEqual checks whether two prefix descriptions are 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 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.
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 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...
DescriptionCheckFlags
Flags for the description based isEqual methods.
@ dcf_prefixes
Compare prefixes.
@ dcf_versions
Compares the version attributes as well.
@ dcf_visualization_attributes
Check attributes relevant for visualization (min/max/default/scale/offset)
@ dcf_everything
Check everything (all flags except the "No" variants)
@ dcf_data_types
Compare datatypes.
@ dcf_streams
Compare streams.
@ dcf_subset
Checks whether the first description is a subset of the second.
@ dcf_header
Compare the header as well.
@ dcf_all
Compare all elements (see above)
@ dcf_stream_meta_types
Compare stream_meta_types.
@ dcf_no_recursion
Do not compare sub-entities (elements, ref units, stream structs, ...)
@ dcf_descriptions
Compares the description attributes as well.
@ dcf_base_units
Compare baseunits.
@ dcf_comments
Compares the comment attributes as well.
@ dcf_structs
Compare structs.
@ dcf_units
Compare units.
@ dcf_enums
Compare enums.
@ dcf_no_header_dates
Do not compare header dates (date_creation, date_change)
@ dcf_no_enum_values_check
Do not compare enum values.
ItemCheckFlags
Flags for the item based isEqual methods.
@ icf_visualizations_attributes
Check attributes relevant for visualization (min/max/default/scale/offset)
@ icf_descriptions
Compare the comments as well.
@ icf_comments
Compare the comments as well.
@ icf_versions
Compare the versions of all elements and structs and stream meta types.
@ icf_subset
Check if the first item is a subset of the second.
@ icf_memory
Compare the in-memory representation.
@ icf_no_recursion
Do not compare sub-entities (elements, ref units, stream structs, ...)
@ icf_everything
Check everything (mind no_recursion and no_enum is not changed here)
@ icf_serialized
Compare the serialized representation.
@ icf_no_enum_values_check
Do not compare enum values.
@ icf_units
Compare the units as well.
@ icf_names
Compare the names of structs and their elements and stream meta types parent.
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 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 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::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.
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::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 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::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 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 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 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.
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::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 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::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 ...
The Data Definiton class uses the validation model to keep a Data Definition datamodel (ddl::dd::data...
observable DataDefinition object class to describe (POD) DataType.
observable DataDefinition object class to describe EnumType.
DataDefinition object class of datamodel to hold a streamstruct.
observable Stream DataDefinition object.
observable DataDefinition object class for a Element of a StructType.
observable DataDefinition object class to describe StructType.
datamodel for the refUnit
Unit Prefix - datamodel pefixes.
Definition of Data Representation header for Codec API.
OO DataDefinition - Data Definition.
definition of the ddl namespace
DataRepresentation
Enumeration for the data representation.
Common include for component a_util::result.