pub struct CashGeneratingUnit {
pub cgu_id: String,
pub name: String,
pub member_entity_codes: Vec<String>,
pub segment_code: Option<String>,
}Expand description
A cash-generating unit per IAS 36 § 6 — the smallest identifiable group of assets that generates largely independent cash inflows.
Fields§
§cgu_id: StringUnique CGU identifier — typically a stable code so allocations can be tracked across periods.
name: StringHuman-readable name (e.g. “EMEA Consumer Products”).
member_entity_codes: Vec<String>Codes of the entities (subsidiaries / branches) whose cash flows are aggregated to form this CGU. A CGU may span multiple legal entities or be a sub-division of a single entity.
segment_code: Option<String>Reportable segment this CGU rolls up to (IFRS 8 / ASC 280). Multiple CGUs can map to the same segment. None when no segment-reporting attribution applies.
Implementations§
Source§impl CashGeneratingUnit
impl CashGeneratingUnit
Sourcepub fn new(
cgu_id: impl Into<String>,
name: impl Into<String>,
member_entity_codes: Vec<String>,
) -> Self
pub fn new( cgu_id: impl Into<String>, name: impl Into<String>, member_entity_codes: Vec<String>, ) -> Self
Construct a CGU. member_entity_codes may be empty if the
CGU is being seeded for later allocation; downstream tests
require at least one member.
Sourcepub fn with_segment(self, segment_code: impl Into<String>) -> Self
pub fn with_segment(self, segment_code: impl Into<String>) -> Self
Attach a reportable segment code (IFRS 8 / ASC 280).
Trait Implementations§
Source§impl Clone for CashGeneratingUnit
impl Clone for CashGeneratingUnit
Source§fn clone(&self) -> CashGeneratingUnit
fn clone(&self) -> CashGeneratingUnit
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more