For instrumented builds, LCOV HTML reports, and Qt Creator coverage configuration, see Measuring code coverage. For the complete IDE build/run configuration set, see Configure all build variants in Qt Creator. The Coverage configuration uses coverage_report.sh after its instrumented build; the script takes the source and build directories as its two arguments.
Open the repository's root dbc.pro in Qt Creator. It contains core (a static C++17 library) and tests (the dbc_tests QtTest executable). Core is built first; tests link its archive rather than compiling its implementation again. Qt Core and Qt Test development packages are required for tests only. The optional model tests also link QtGui, which is provided by Qt base development packages. The adapter library itself still links only QtCore.
Build from the repository root with the installed Qt 6.8.2:
mkdir build
@@ -110,19 +110,19 @@ $(document).ready(function(){initNavTree('md_tests_2README.html',''); initResiza
make
make check
parser_tests.pri and decoder_tests.pri include the original test sources; tests.pro also includes dbc_coverage_test.cpp. ../core/core.pri supplies the library include path and linkage.
-
+
Decoder coverage
Coverage includes Motorola bit numbering within and across bytes, unaligned signals, signed values, scaling, 64-bit extraction, signed/unsigned boundary values (including INT64_MIN, INT64_MAX, and UINT64_MAX), numeric output, invalid lengths, insufficient payloads, and Intel regression cases. Frame validity means the definition was found; insufficient payloads are checked through signal validity.
-
+
Parser coverage
Parser tests cover standard and extended CAN IDs, whitespace, payload storage boundaries, missing fields, malformed and overflowing numbers, reserved ID bits, error paths and line numbers, and integration with signals and comments. Duplicate definitions are rejected at their source lines, including equivalent extended ID encodings and repeated signal names within a frame. Standard and extended frames may share a numeric ID, and separate frames may reuse signal names. Signal tests cover complete syntax and numeric validation, scientific notation, finite physical parameters and ordered ranges, spaces and tabs, receiver lists, unsupported multiplexing, and Intel/Motorola declared-payload boundaries. Value-description tests cover full VAL_ syntax, whitespace, escaped quotes, empty text, exact integer boundaries, duplicate keys within and across statements, deferred and normalized frame references, missing targets, error locations, raw lookup with scaling, unknown/invalid values, and both database builders. Temporary DBC fixtures are created in the system temporary directory and removed automatically.
Dispatch tests also verify exact keyword matching, handler construction and reuse, unknown statements, and independent parsing sessions, including recovery after errors.
-
+
Tree and optional model tests
tree_node_test.cpp is a standalone C++17 executable without Qt; see the root README for its compiler command. It checks parents, sibling positions, null children, bounds, and unique_ptr transfer.
Enable CONFIG+=dbc_qt in the root qmake invocation to build dbc_qt and dbc_model_tests alongside existing tests. Qt 6.8.2 is required. make check runs all suites. Model tests parse a temporary DBC fixture and use QAbstractItemModelTester, verify navigation across columns, invalid/foreign indexes, metadata and exact VAL_ integers, and persistent-index invalidation when reloading or clearing the tree. Their QGuiApplication registers graphical metatypes used by QAbstractItemModelTester, avoiding the invalid QPixmap type warning in Qt 6.8.2. The test executable defaults to QT_QPA_PLATFORM=offscreen when the variable is unset or empty, so no display server is needed. An explicit platform setting is preserved.
Basic multiplexing coverage includes selector declarations after branches, Intel/Motorola branch overlap, signed active values and VAL_ lookup, unconditional signals, inactive branches, missing selector/branch payloads, exact UINT64_MAX selector matching, malformed runtime selectors, source locations, and rejection of invalid markers, selector references/ranges, overlaps, and SG_MUL_VAL_.
-
+
Additional regression coverage
dbc_coverage_test.cpp runs as part of dbc_tests. It covers signed boundaries below 64 bits, deterministic extraction comparisons for both byte orders across lengths 1–64, frame lookup failures, exact decode statuses, malformed runtime multiplexing, PGN boundaries, comment handling, file formatting, metadata copying and source lifetime, physical conversion, and TypeFactory registration/creation. Direct resolver tests construct ambiguous databases through the public metadata API, verify source locations, and check that ambiguous targets receive no values.
All QtTest targets use Qt 6.8.2 and QVERIFY_THROWS_EXCEPTION. Exception tests explicitly discard nodiscard results when only the exception is being checked. The standalone tree test requires only a C++17 compiler.
diff --git a/docs/html/navtreedata.js b/docs/html/navtreedata.js
index 07a2900..3683755 100644
--- a/docs/html/navtreedata.js
+++ b/docs/html/navtreedata.js
@@ -127,14 +127,15 @@ var NAVTREE =
[ "Regression tests", "md_README.html#autotoc_md123", null ],
[ "Measuring code coverage", "md_README.html#autotoc_md124", [
[ "GCC, gcov, and LCOV on Debian/Ubuntu", "md_README.html#autotoc_md125", null ],
- [ "Configure the GCC coverage build in Qt Creator", "md_README.html#autotoc_md126", null ]
+ [ "Configure the GCC coverage build in Qt Creator", "md_README.html#autotoc_md126", null ],
+ [ "Configure all build variants in Qt Creator", "md_README.html#autotoc_md127", null ]
] ]
] ],
[ "QtTest regression tests", "md_tests_2README.html", [
- [ "Decoder coverage", "md_tests_2README.html#autotoc_md128", null ],
- [ "Parser coverage", "md_tests_2README.html#autotoc_md129", null ],
- [ "Tree and optional model tests", "md_tests_2README.html#autotoc_md130", null ],
- [ "Additional regression coverage", "md_tests_2README.html#autotoc_md131", null ]
+ [ "Decoder coverage", "md_tests_2README.html#autotoc_md129", null ],
+ [ "Parser coverage", "md_tests_2README.html#autotoc_md130", null ],
+ [ "Tree and optional model tests", "md_tests_2README.html#autotoc_md131", null ],
+ [ "Additional regression coverage", "md_tests_2README.html#autotoc_md132", null ]
] ],
[ "Classes", "annotated.html", [
[ "Class List", "annotated.html", "annotated_dup" ],
@@ -159,7 +160,7 @@ var NAVTREE =
var NAVTREEINDEX =
[
"annotated.html",
-"structSignalInfo.html#ace290724f9801521609aedaa946d61f1"
+"structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/docs/html/navtreeindex0.js b/docs/html/navtreeindex0.js
index c93704a..72e4a71 100644
--- a/docs/html/navtreeindex0.js
+++ b/docs/html/navtreeindex0.js
@@ -110,6 +110,7 @@ var NAVTREEINDEX0 =
"md_README.html#autotoc_md124":[1,43],
"md_README.html#autotoc_md125":[1,43,0],
"md_README.html#autotoc_md126":[1,43,1],
+"md_README.html#autotoc_md127":[1,43,2],
"md_README.html#autotoc_md21":[1,0],
"md_README.html#autotoc_md23":[1,1],
"md_README.html#autotoc_md24":[1,1,0],
@@ -177,10 +178,10 @@ var NAVTREEINDEX0 =
"md_changelog.html#autotoc_md8":[0,0,2],
"md_changelog.html#autotoc_md9":[0,0,2,0],
"md_tests_2README.html":[2],
-"md_tests_2README.html#autotoc_md128":[2,0],
-"md_tests_2README.html#autotoc_md129":[2,1],
-"md_tests_2README.html#autotoc_md130":[2,2],
-"md_tests_2README.html#autotoc_md131":[2,3],
+"md_tests_2README.html#autotoc_md129":[2,0],
+"md_tests_2README.html#autotoc_md130":[2,1],
+"md_tests_2README.html#autotoc_md131":[2,2],
+"md_tests_2README.html#autotoc_md132":[2,3],
"multiplexing_8h_source.html":[4,0,0,13],
"pages.html":[],
"signal__info_8h.html":[4,0,0,14],
@@ -248,6 +249,5 @@ var NAVTREEINDEX0 =
"structSignalInfo.html#a379e422a00cad56f896cacf60455b088":[3,0,25,0],
"structSignalInfo.html#a43f47d0433d0cc39076bd7278b46af9c":[3,0,25,11],
"structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f":[3,0,25,4],
-"structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e":[3,0,25,6],
-"structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5":[3,0,25,12]
+"structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e":[3,0,25,6]
};
diff --git a/docs/html/navtreeindex1.js b/docs/html/navtreeindex1.js
index 4d43e87..4c6cf8a 100644
--- a/docs/html/navtreeindex1.js
+++ b/docs/html/navtreeindex1.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX1 =
{
+"structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5":[3,0,25,12],
"structSignalInfo.html#ace290724f9801521609aedaa946d61f1":[3,0,25,1],
"structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b":[3,0,25,7],
"structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52":[3,0,25,8],
diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js
index 81699e8..d6878b9 100644
--- a/docs/html/search/all_11.js
+++ b/docs/html/search/all_11.js
@@ -2,7 +2,7 @@ var searchData=
[
['offset_0',['offset',['../structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74',1,'DecodeSignal::offset'],['../structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e',1,'SignalInfo::offset']]],
['on_20debian_20ubuntu_1',['GCC, gcov, and LCOV on Debian/Ubuntu',['../md_README.html#autotoc_md125',1,'']]],
- ['optional_20model_20tests_2',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md130',1,'']]],
+ ['optional_20model_20tests_2',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md131',1,'']]],
['optional_20qt_20model_20adapter_3',['Optional Qt model adapter',['../md_README.html#autotoc_md118',1,'']]],
['overview_4',['Overview',['../md_README.html#autotoc_md21',1,'']]]
];
diff --git a/docs/html/search/all_12.js b/docs/html/search/all_12.js
index aed6e46..9bc5df7 100644
--- a/docs/html/search/all_12.js
+++ b/docs/html/search/all_12.js
@@ -6,7 +6,7 @@ var searchData=
['parsed_20data_20structures_3',['Parsed Data Structures',['../md_README.html#autotoc_md31',1,'']]],
['parsefile_4',['ParseFile',['../classDbcParser.html#aef72826942c9095d653fafa435855e56',1,'DbcParser']]],
['parser_20and_20runtime_20decode_20module_20documentation_5',['DBC Parser and Runtime Decode Module Documentation',['../md_README.html',1,'']]],
- ['parser_20coverage_6',['Parser coverage',['../md_tests_2README.html#autotoc_md129',1,'']]],
+ ['parser_20coverage_6',['Parser coverage',['../md_tests_2README.html#autotoc_md130',1,'']]],
['parser_20support_7',['Parser Support',['../md_README.html#autotoc_md67',1,'']]],
['path_8',['path',['../md_README.html#autotoc_md24',1,'1. Parse and UI path'],['../md_README.html#autotoc_md25',1,'2. Runtime decode path'],['../md_README.html#autotoc_md97',1,'live path'],['../md_README.html#autotoc_md98',1,'trace path']]],
['pendingvaluedescriptions_9',['PendingValueDescriptions',['../structPendingValueDescriptions.html',1,'']]],
diff --git a/docs/html/search/all_13.js b/docs/html/search/all_13.js
index 4b441b3..6fe6db3 100644
--- a/docs/html/search/all_13.js
+++ b/docs/html/search/all_13.js
@@ -1,7 +1,7 @@
var searchData=
[
['qt_0',['Standalone tree tests without Qt',['../md_README.html#autotoc_md119',1,'']]],
- ['qt_20creator_1',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
+ ['qt_20creator_1',['qt creator',['../md_README.html#autotoc_md127',1,'Configure all build variants in Qt Creator'],['../md_README.html#autotoc_md126',1,'Configure the GCC coverage build in Qt Creator']]],
['qt_20libraries_2',['Build core without Qt libraries',['../md_README.html#autotoc_md117',1,'']]],
['qt_20model_20adapter_3',['Optional Qt model adapter',['../md_README.html#autotoc_md118',1,'']]],
['qttest_20regression_20tests_4',['QtTest regression tests',['../md_tests_2README.html',1,'']]]
diff --git a/docs/html/search/all_14.js b/docs/html/search/all_14.js
index a977bd9..b042d63 100644
--- a/docs/html/search/all_14.js
+++ b/docs/html/search/all_14.js
@@ -8,7 +8,7 @@ var searchData=
['receivers_5',['receivers',['../structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa',1,'DecodeSignal::receivers'],['../structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3',1,'SignalInfo::receivers']]],
['recommended_20next_20steps_6',['Recommended Next Steps',['../md_README.html#autotoc_md110',1,'']]],
['registertype_7',['registerType',['../classTypeFactory.html#ad6d85795285ee21193ac03e1b24762d3',1,'TypeFactory']]],
- ['regression_20coverage_8',['Additional regression coverage',['../md_tests_2README.html#autotoc_md131',1,'']]],
+ ['regression_20coverage_8',['Additional regression coverage',['../md_tests_2README.html#autotoc_md132',1,'']]],
['regression_20tests_9',['regression tests',['../md_tests_2README.html',1,'QtTest regression tests'],['../md_README.html#autotoc_md123',1,'Regression tests']]],
['representation_20and_20precision_10',['Raw value representation and precision',['../md_README.html#autotoc_md61',1,'']]],
['run_20the_20demo_11',['Build and run the demo',['../md_README.html#autotoc_md120',1,'']]],
diff --git a/docs/html/search/all_16.js b/docs/html/search/all_16.js
index 38b12ae..f8d928a 100644
--- a/docs/html/search/all_16.js
+++ b/docs/html/search/all_16.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['tests_0',['tests',['../md_tests_2README.html',1,'QtTest regression tests'],['../md_README.html#autotoc_md123',1,'Regression tests'],['../md_tests_2README.html#autotoc_md130',1,'Tree and optional model tests']]],
+ ['tests_0',['tests',['../md_tests_2README.html',1,'QtTest regression tests'],['../md_README.html#autotoc_md123',1,'Regression tests'],['../md_tests_2README.html#autotoc_md131',1,'Tree and optional model tests']]],
['tests_20without_20qt_1',['Standalone tree tests without Qt',['../md_README.html#autotoc_md119',1,'']]],
['the_20demo_2',['Build and run the demo',['../md_README.html#autotoc_md120',1,'']]],
['the_20gcc_20coverage_20build_20in_20qt_20creator_3',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
@@ -9,7 +9,7 @@ var searchData=
['trace_20path_6',['trace path',['../md_README.html#autotoc_md98',1,'']]],
['transmitter_7',['transmitter',['../structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8',1,'FrameInfo::transmitter'],['../structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9',1,'DecodeFrame::transmitter']]],
['tree_8',['Build UI tree',['../md_README.html#autotoc_md92',1,'']]],
- ['tree_20and_20optional_20model_20tests_9',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md130',1,'']]],
+ ['tree_20and_20optional_20model_20tests_9',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md131',1,'']]],
['tree_20is_20not_20enough_10',['Why the Tree Is Not Enough',['../md_README.html#autotoc_md102',1,'']]],
['tree_20layer_11',['UI Tree Layer',['../md_README.html#autotoc_md38',1,'']]],
['tree_20tests_20without_20qt_12',['Standalone tree tests without Qt',['../md_README.html#autotoc_md119',1,'']]],
diff --git a/docs/html/search/all_18.js b/docs/html/search/all_18.js
index 722fe35..dae948f 100644
--- a/docs/html/search/all_18.js
+++ b/docs/html/search/all_18.js
@@ -8,5 +8,6 @@ var searchData=
['value_20representation_20and_20precision_5',['Raw value representation and precision',['../md_README.html#autotoc_md61',1,'']]],
['valuedescriptions_6',['valuedescriptions',['../structDecodeSignal.html#a822155d9bf4ed5f3300c9e9befe606ff',1,'DecodeSignal::valueDescriptions'],['../structSignalInfo.html#a43f47d0433d0cc39076bd7278b46af9c',1,'SignalInfo::valueDescriptions']]],
['valuetype_7',['valuetype',['../structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8',1,'DecodeSignal::valueType'],['../decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1',1,'ValueType: decode_database.h']]],
- ['valuetype_20tt_8',['<tt>ValueType</tt>',['../md_README.html#autotoc_md46',1,'']]]
+ ['valuetype_20tt_8',['<tt>ValueType</tt>',['../md_README.html#autotoc_md46',1,'']]],
+ ['variants_20in_20qt_20creator_9',['Configure all build variants in Qt Creator',['../md_README.html#autotoc_md127',1,'']]]
];
diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js
index 23ff0b7..2242a54 100644
--- a/docs/html/search/all_5.js
+++ b/docs/html/search/all_5.js
@@ -4,17 +4,18 @@ var searchData=
['adapter_1',['Optional Qt model adapter',['../md_README.html#autotoc_md118',1,'']]],
['addchild_2',['AddChild',['../classTreeNode.html#a6161f2ebb92184eab4215d121870e788',1,'TreeNode']]],
['added_3',['added',['../md_changelog.html#autotoc_md3',1,'Added'],['../md_changelog.html#autotoc_md7',1,'Added'],['../md_changelog.html#autotoc_md18',1,'Added']]],
- ['additional_20regression_20coverage_4',['Additional regression coverage',['../md_tests_2README.html#autotoc_md131',1,'']]],
- ['already_20implemented_5',['Stage 1 - already implemented',['../md_README.html#autotoc_md111',1,'']]],
- ['and_20lcov_20on_20debian_20ubuntu_6',['GCC, gcov, and LCOV on Debian/Ubuntu',['../md_README.html#autotoc_md125',1,'']]],
- ['and_20maintenance_7',['and maintenance',['../md_changelog.html#autotoc_md11',1,'Documentation and maintenance'],['../md_changelog.html#autotoc_md19',1,'Documentation and maintenance']]],
- ['and_20motorola_20extraction_8',['Intel and Motorola Extraction',['../md_README.html#autotoc_md88',1,'']]],
- ['and_20optional_20model_20tests_9',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md130',1,'']]],
- ['and_20parse_20errors_10',['and parse errors',['../md_README.html#autotoc_md72',1,'Frame validation and parse errors'],['../md_README.html#autotoc_md76',1,'Signal validation and parse errors']]],
- ['and_20precision_11',['Raw value representation and precision',['../md_README.html#autotoc_md61',1,'']]],
- ['and_20run_20the_20demo_12',['Build and run the demo',['../md_README.html#autotoc_md120',1,'']]],
- ['and_20runtime_20decode_20module_20documentation_13',['DBC Parser and Runtime Decode Module Documentation',['../md_README.html',1,'']]],
- ['and_20ui_20path_14',['1. Parse and UI path',['../md_README.html#autotoc_md24',1,'']]],
- ['api_20documentation_15',['Generate API documentation',['../md_README.html#autotoc_md121',1,'']]],
- ['architecture_16',['High-Level Architecture',['../md_README.html#autotoc_md23',1,'']]]
+ ['additional_20regression_20coverage_4',['Additional regression coverage',['../md_tests_2README.html#autotoc_md132',1,'']]],
+ ['all_20build_20variants_20in_20qt_20creator_5',['Configure all build variants in Qt Creator',['../md_README.html#autotoc_md127',1,'']]],
+ ['already_20implemented_6',['Stage 1 - already implemented',['../md_README.html#autotoc_md111',1,'']]],
+ ['and_20lcov_20on_20debian_20ubuntu_7',['GCC, gcov, and LCOV on Debian/Ubuntu',['../md_README.html#autotoc_md125',1,'']]],
+ ['and_20maintenance_8',['and maintenance',['../md_changelog.html#autotoc_md11',1,'Documentation and maintenance'],['../md_changelog.html#autotoc_md19',1,'Documentation and maintenance']]],
+ ['and_20motorola_20extraction_9',['Intel and Motorola Extraction',['../md_README.html#autotoc_md88',1,'']]],
+ ['and_20optional_20model_20tests_10',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md131',1,'']]],
+ ['and_20parse_20errors_11',['and parse errors',['../md_README.html#autotoc_md72',1,'Frame validation and parse errors'],['../md_README.html#autotoc_md76',1,'Signal validation and parse errors']]],
+ ['and_20precision_12',['Raw value representation and precision',['../md_README.html#autotoc_md61',1,'']]],
+ ['and_20run_20the_20demo_13',['Build and run the demo',['../md_README.html#autotoc_md120',1,'']]],
+ ['and_20runtime_20decode_20module_20documentation_14',['DBC Parser and Runtime Decode Module Documentation',['../md_README.html',1,'']]],
+ ['and_20ui_20path_15',['1. Parse and UI path',['../md_README.html#autotoc_md24',1,'']]],
+ ['api_20documentation_16',['Generate API documentation',['../md_README.html#autotoc_md121',1,'']]],
+ ['architecture_17',['High-Level Architecture',['../md_README.html#autotoc_md23',1,'']]]
];
diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js
index ddc58fc..147aa2a 100644
--- a/docs/html/search/all_6.js
+++ b/docs/html/search/all_6.js
@@ -8,6 +8,7 @@ var searchData=
['build_20integration_5',['Build Integration',['../md_README.html#autotoc_md116',1,'']]],
['build_20runtime_20decode_20database_6',['Build runtime decode database',['../md_README.html#autotoc_md93',1,'']]],
['build_20ui_20tree_7',['Build UI tree',['../md_README.html#autotoc_md92',1,'']]],
- ['byteorder_8',['byteorder',['../structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d',1,'DecodeSignal::byteOrder'],['../decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b',1,'ByteOrder: decode_database.h']]],
- ['byteorder_20tt_9',['<tt>ByteOrder</tt>',['../md_README.html#autotoc_md44',1,'']]]
+ ['build_20variants_20in_20qt_20creator_8',['Configure all build variants in Qt Creator',['../md_README.html#autotoc_md127',1,'']]],
+ ['byteorder_9',['byteorder',['../structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d',1,'DecodeSignal::byteOrder'],['../decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b',1,'ByteOrder: decode_database.h']]],
+ ['byteorder_20tt_10',['<tt>ByteOrder</tt>',['../md_README.html#autotoc_md44',1,'']]]
];
diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js
index b5d1239..9c430c9 100644
--- a/docs/html/search/all_7.js
+++ b/docs/html/search/all_7.js
@@ -2,17 +2,18 @@ var searchData=
[
['can_20id_20normalization_0',['CAN ID Normalization',['../md_README.html#autotoc_md82',1,'']]],
['canid_1',['canid',['../structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf',1,'DecodeFrame::canId'],['../structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e',1,'FrameInfo::canId'],['../structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4',1,'RawCanFrame::canId']]],
- ['changed_2',['changed',['../md_changelog.html#autotoc_md13',1,'Changed'],['../md_changelog.html#autotoc_md9',1,'Changed'],['../md_changelog.html#autotoc_md4',1,'Changed']]],
+ ['changed_2',['changed',['../md_changelog.html#autotoc_md4',1,'Changed'],['../md_changelog.html#autotoc_md9',1,'Changed'],['../md_changelog.html#autotoc_md13',1,'Changed']]],
['changelog_3',['Changelog',['../md_changelog.html',1,'']]],
['code_20coverage_4',['Measuring code coverage',['../md_README.html#autotoc_md124',1,'']]],
- ['comment_5',['comment',['../structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5',1,'SignalInfo::comment'],['../structFrameInfo.html#ace75121294f9d89b762080ab5643293c',1,'FrameInfo::comment'],['../structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22',1,'DecodeFrame::comment'],['../structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473',1,'DecodeSignal::comment']]],
+ ['comment_5',['comment',['../structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473',1,'DecodeSignal::comment'],['../structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22',1,'DecodeFrame::comment'],['../structFrameInfo.html#ace75121294f9d89b762080ab5643293c',1,'FrameInfo::comment'],['../structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5',1,'SignalInfo::comment']]],
['comments_6',['Comments',['../md_README.html#autotoc_md80',1,'']]],
- ['configure_20the_20gcc_20coverage_20build_20in_20qt_20creator_7',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
- ['contains_8',['contains',['../classTypeFactory.html#a1a119ad2956abe146213c6ca124d8dd4',1,'TypeFactory']]],
- ['core_20without_20qt_20libraries_9',['Build core without Qt libraries',['../md_README.html#autotoc_md117',1,'']]],
- ['coverage_10',['coverage',['../md_tests_2README.html#autotoc_md131',1,'Additional regression coverage'],['../md_tests_2README.html#autotoc_md128',1,'Decoder coverage'],['../md_README.html#autotoc_md124',1,'Measuring code coverage'],['../md_tests_2README.html#autotoc_md129',1,'Parser coverage']]],
- ['coverage_20build_20in_20qt_20creator_11',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
- ['create_12',['create',['../classTypeFactory.html#a3f43b03d6e3a0fd503fdec01ecf62e9f',1,'TypeFactory']]],
- ['creator_13',['creator',['../md_README.html#autotoc_md126',1,'Configure the GCC coverage build in Qt Creator'],['../classTypeFactory.html#ad82f537569ece3d3a4a376523fa94473',1,'TypeFactory::creator()']]],
- ['current_20limitations_14',['Current Limitations',['../md_README.html#autotoc_md108',1,'']]]
+ ['configure_20all_20build_20variants_20in_20qt_20creator_7',['Configure all build variants in Qt Creator',['../md_README.html#autotoc_md127',1,'']]],
+ ['configure_20the_20gcc_20coverage_20build_20in_20qt_20creator_8',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
+ ['contains_9',['contains',['../classTypeFactory.html#a1a119ad2956abe146213c6ca124d8dd4',1,'TypeFactory']]],
+ ['core_20without_20qt_20libraries_10',['Build core without Qt libraries',['../md_README.html#autotoc_md117',1,'']]],
+ ['coverage_11',['coverage',['../md_tests_2README.html#autotoc_md132',1,'Additional regression coverage'],['../md_tests_2README.html#autotoc_md129',1,'Decoder coverage'],['../md_README.html#autotoc_md124',1,'Measuring code coverage'],['../md_tests_2README.html#autotoc_md130',1,'Parser coverage']]],
+ ['coverage_20build_20in_20qt_20creator_12',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
+ ['create_13',['create',['../classTypeFactory.html#a3f43b03d6e3a0fd503fdec01ecf62e9f',1,'TypeFactory']]],
+ ['creator_14',['creator',['../md_README.html#autotoc_md127',1,'Configure all build variants in Qt Creator'],['../md_README.html#autotoc_md126',1,'Configure the GCC coverage build in Qt Creator'],['../classTypeFactory.html#ad82f537569ece3d3a4a376523fa94473',1,'TypeFactory::creator()']]],
+ ['current_20limitations_15',['Current Limitations',['../md_README.html#autotoc_md108',1,'']]]
];
diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js
index 37e9f61..ef40159 100644
--- a/docs/html/search/all_8.js
+++ b/docs/html/search/all_8.js
@@ -50,7 +50,7 @@ var searchData=
['decodedsignalvalue_20tt_47',['<tt>DecodedSignalValue</tt>',['../md_README.html#autotoc_md59',1,'']]],
['decodeframe_48',['DecodeFrame',['../structDecodeFrame.html',1,'']]],
['decodeframe_20tt_49',['<tt>DecodeFrame</tt>',['../md_README.html#autotoc_md50',1,'']]],
- ['decoder_20coverage_50',['Decoder coverage',['../md_tests_2README.html#autotoc_md128',1,'']]],
+ ['decoder_20coverage_50',['Decoder coverage',['../md_tests_2README.html#autotoc_md129',1,'']]],
['decoder_20layer_51',['Decoder Layer',['../md_README.html#autotoc_md56',1,'']]],
['decodesignal_52',['DecodeSignal',['../structDecodeSignal.html',1,'']]],
['decodesignal_20tt_53',['<tt>DecodeSignal</tt>',['../md_README.html#autotoc_md48',1,'']]],
diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js
index 081da3f..237f272 100644
--- a/docs/html/search/all_d.js
+++ b/docs/html/search/all_d.js
@@ -4,7 +4,7 @@ var searchData=
['implementation_20—_202026_2003_2013_1',['Initial implementation — 2026-03-13',['../md_changelog.html#autotoc_md17',1,'']]],
['implemented_2',['Stage 1 - already implemented',['../md_README.html#autotoc_md111',1,'']]],
['in_20frametap_3',['Intended Use in FrameTap',['../md_README.html#autotoc_md100',1,'']]],
- ['in_20qt_20creator_4',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
+ ['in_20qt_20creator_4',['in qt creator',['../md_README.html#autotoc_md127',1,'Configure all build variants in Qt Creator'],['../md_README.html#autotoc_md126',1,'Configure the GCC coverage build in Qt Creator']]],
['initial_20implementation_20—_202026_2003_2013_5',['Initial implementation — 2026-03-13',['../md_changelog.html#autotoc_md17',1,'']]],
['integration_6',['Build Integration',['../md_README.html#autotoc_md116',1,'']]],
['intel_20and_20motorola_20extraction_7',['Intel and Motorola Extraction',['../md_README.html#autotoc_md88',1,'']]],
diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js
index 8bf0c69..7f95947 100644
--- a/docs/html/search/all_f.js
+++ b/docs/html/search/all_f.js
@@ -5,7 +5,7 @@ var searchData=
['measuring_20code_20coverage_2',['Measuring code coverage',['../md_README.html#autotoc_md124',1,'']]],
['minimum_3',['minimum',['../structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25',1,'DecodeSignal::minimum'],['../structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b',1,'SignalInfo::minimum']]],
['model_20adapter_4',['Optional Qt model adapter',['../md_README.html#autotoc_md118',1,'']]],
- ['model_20tests_5',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md130',1,'']]],
+ ['model_20tests_5',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md131',1,'']]],
['module_20documentation_6',['DBC Parser and Runtime Decode Module Documentation',['../md_README.html',1,'']]],
['module_20layout_7',['Module Layout',['../md_README.html#autotoc_md29',1,'']]],
['motorola_20extraction_8',['Intel and Motorola Extraction',['../md_README.html#autotoc_md88',1,'']]],