#[repr(C, align(64))]pub struct JournalLineItem {
pub id: Uuid,
pub journal_entry_index: u32,
pub account_index: u16,
pub line_number: u16,
pub line_type: LineType,
pub _pad1: [u8; 3],
pub amount: Decimal128,
pub confidence: f32,
pub matched_line_index: u16,
pub flags: LineItemFlags,
pub _pad2: u8,
pub _reserved: [u8; 12],
}Expand description
A single line item in a journal entry. GPU-aligned to 64 bytes.
Fields§
§id: UuidLine item ID
journal_entry_index: u32Parent journal entry ID reference index
account_index: u16Account ID (references AccountNode)
line_number: u16Line number within entry (1-based)
line_type: LineTypeDebit (0) or Credit (1)
_pad1: [u8; 3]Padding
amount: Decimal128Monetary amount (positive for debit, negative for credit by convention)
confidence: f32Confidence score (1.0 = original, <1.0 = estimated/decomposed)
matched_line_index: u16Index of matched line (for Method A/B/C), u16::MAX if unmatched
flags: LineItemFlagsFlags
_pad2: u8Padding
_reserved: [u8; 12]Reserved for future use.
Implementations§
Source§impl JournalLineItem
impl JournalLineItem
Sourcepub fn debit(account_index: u16, amount: Decimal128, line_number: u16) -> Self
pub fn debit(account_index: u16, amount: Decimal128, line_number: u16) -> Self
Create a new debit line.
Sourcepub fn credit(account_index: u16, amount: Decimal128, line_number: u16) -> Self
pub fn credit(account_index: u16, amount: Decimal128, line_number: u16) -> Self
Create a new credit line.
Sourcepub fn is_matched(&self) -> bool
pub fn is_matched(&self) -> bool
Check if this line has been matched to another.
Trait Implementations§
Source§impl Archive for JournalLineItem
impl Archive for JournalLineItem
Source§type Archived = ArchivedJournalLineItem
type Archived = ArchivedJournalLineItem
The archived representation of this type. Read more
Source§type Resolver = JournalLineItemResolver
type Resolver = JournalLineItemResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
Source§impl Clone for JournalLineItem
impl Clone for JournalLineItem
Source§fn clone(&self) -> JournalLineItem
fn clone(&self) -> JournalLineItem
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for JournalLineItem
impl Debug for JournalLineItem
Source§impl<__D: Fallible + ?Sized> Deserialize<JournalLineItem, __D> for Archived<JournalLineItem>where
Uuid: Archive,
Archived<Uuid>: Deserialize<Uuid, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
u16: Archive,
Archived<u16>: Deserialize<u16, __D>,
LineType: Archive,
Archived<LineType>: Deserialize<LineType, __D>,
[u8; 3]: Archive,
Archived<[u8; 3]>: Deserialize<[u8; 3], __D>,
Decimal128: Archive,
Archived<Decimal128>: Deserialize<Decimal128, __D>,
f32: Archive,
Archived<f32>: Deserialize<f32, __D>,
LineItemFlags: Archive,
Archived<LineItemFlags>: Deserialize<LineItemFlags, __D>,
u8: Archive,
Archived<u8>: Deserialize<u8, __D>,
[u8; 12]: Archive,
Archived<[u8; 12]>: Deserialize<[u8; 12], __D>,
impl<__D: Fallible + ?Sized> Deserialize<JournalLineItem, __D> for Archived<JournalLineItem>where
Uuid: Archive,
Archived<Uuid>: Deserialize<Uuid, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
u16: Archive,
Archived<u16>: Deserialize<u16, __D>,
LineType: Archive,
Archived<LineType>: Deserialize<LineType, __D>,
[u8; 3]: Archive,
Archived<[u8; 3]>: Deserialize<[u8; 3], __D>,
Decimal128: Archive,
Archived<Decimal128>: Deserialize<Decimal128, __D>,
f32: Archive,
Archived<f32>: Deserialize<f32, __D>,
LineItemFlags: Archive,
Archived<LineItemFlags>: Deserialize<LineItemFlags, __D>,
u8: Archive,
Archived<u8>: Deserialize<u8, __D>,
[u8; 12]: Archive,
Archived<[u8; 12]>: Deserialize<[u8; 12], __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<JournalLineItem, __D::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<JournalLineItem, __D::Error>
Deserializes using the given deserializer
Auto Trait Implementations§
impl Freeze for JournalLineItem
impl RefUnwindSafe for JournalLineItem
impl Send for JournalLineItem
impl Sync for JournalLineItem
impl Unpin for JournalLineItem
impl UnwindSafe for JournalLineItem
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
Source§impl<T, S> SerializeUnsized<S> for T
impl<T, S> SerializeUnsized<S> for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.