1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/// Builder for creating `ExtendedMultiplexing` programmatically.
///
/// This builder allows you to construct extended multiplexing entries when building DBC files
/// programmatically. Extended multiplexing (SG_MUL_VAL_) entries define which multiplexer
/// switch values activate specific multiplexed signals.
///
/// # Examples
///
/// ```rust,no_run
/// use dbc_rs::ExtendedMultiplexingBuilder;
///
/// // Build an extended multiplexing entry
/// let ext_mux = ExtendedMultiplexingBuilder::new()
/// .message_id(500)
/// .signal_name("Signal_A")
/// .multiplexer_switch("Mux1")
/// .add_value_range(0, 5)
/// .add_value_range(10, 15)
/// .build()?;
///
/// assert_eq!(ext_mux.message_id(), 500);
/// assert_eq!(ext_mux.signal_name(), "Signal_A");
/// assert_eq!(ext_mux.multiplexer_switch(), "Mux1");
/// # Ok::<(), dbc_rs::Error>(())
/// ```
///
/// # Feature Requirements
///
/// This builder requires the `std` feature to be enabled.