pub enum Directive {
Transaction(Transaction),
Balance(Balance),
Open(Open),
Close(Close),
Commodity(Commodity),
Pad(Pad),
Event(Event),
Query(Query),
Note(Note),
Document(Document),
Price(Price),
Custom(Custom),
}Expand description
All directive types in beancount.
Variants§
Transaction(Transaction)
Transaction directive - records transfers between accounts
Balance(Balance)
Balance assertion - asserts an account balance at a point in time
Open(Open)
Open account - opens an account for use
Close(Close)
Close account - closes an account
Commodity(Commodity)
Commodity declaration - declares a currency/commodity
Pad(Pad)
Pad directive - auto-pad an account to match a balance
Event(Event)
Event directive - records a life event
Query(Query)
Query directive - stores a named BQL query
Note(Note)
Note directive - adds a note to an account
Document(Document)
Document directive - links a document to an account
Price(Price)
Price directive - records a commodity price
Custom(Custom)
Custom directive - custom user-defined directive
Implementations§
Source§impl Directive
impl Directive
Sourcepub const fn is_transaction(&self) -> bool
pub const fn is_transaction(&self) -> bool
Check if this is a transaction.
Sourcepub const fn as_transaction(&self) -> Option<&Transaction>
pub const fn as_transaction(&self) -> Option<&Transaction>
Get as a transaction, if this is one.
Sourcepub const fn priority(&self) -> DirectivePriority
pub const fn priority(&self) -> DirectivePriority
Get the sorting priority for this directive.
Used to determine order when directives have the same date.
Trait Implementations§
Source§impl Archive for Directive
impl Archive for Directive
Source§type Archived = ArchivedDirective
type Archived = ArchivedDirective
Source§type Resolver = DirectiveResolver
type Resolver = DirectiveResolver
Source§fn resolve(
&self,
resolver: <Self as Archive>::Resolver,
out: Place<<Self as Archive>::Archived>,
)
fn resolve( &self, resolver: <Self as Archive>::Resolver, out: Place<<Self as Archive>::Archived>, )
Source§const COPY_OPTIMIZATION: CopyOptimization<Self> = _
const COPY_OPTIMIZATION: CopyOptimization<Self> = _
serialize. Read moreSource§impl<'de> Deserialize<'de> for Directive
impl<'de> Deserialize<'de> for Directive
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<__D: Fallible + ?Sized> Deserialize<Directive, __D> for Archived<Directive>where
Transaction: Archive,
<Transaction as Archive>::Archived: Deserialize<Transaction, __D>,
Balance: Archive,
<Balance as Archive>::Archived: Deserialize<Balance, __D>,
Open: Archive,
<Open as Archive>::Archived: Deserialize<Open, __D>,
Close: Archive,
<Close as Archive>::Archived: Deserialize<Close, __D>,
Commodity: Archive,
<Commodity as Archive>::Archived: Deserialize<Commodity, __D>,
Pad: Archive,
<Pad as Archive>::Archived: Deserialize<Pad, __D>,
Event: Archive,
<Event as Archive>::Archived: Deserialize<Event, __D>,
Query: Archive,
<Query as Archive>::Archived: Deserialize<Query, __D>,
Note: Archive,
<Note as Archive>::Archived: Deserialize<Note, __D>,
Document: Archive,
<Document as Archive>::Archived: Deserialize<Document, __D>,
Price: Archive,
<Price as Archive>::Archived: Deserialize<Price, __D>,
Custom: Archive,
<Custom as Archive>::Archived: Deserialize<Custom, __D>,
impl<__D: Fallible + ?Sized> Deserialize<Directive, __D> for Archived<Directive>where
Transaction: Archive,
<Transaction as Archive>::Archived: Deserialize<Transaction, __D>,
Balance: Archive,
<Balance as Archive>::Archived: Deserialize<Balance, __D>,
Open: Archive,
<Open as Archive>::Archived: Deserialize<Open, __D>,
Close: Archive,
<Close as Archive>::Archived: Deserialize<Close, __D>,
Commodity: Archive,
<Commodity as Archive>::Archived: Deserialize<Commodity, __D>,
Pad: Archive,
<Pad as Archive>::Archived: Deserialize<Pad, __D>,
Event: Archive,
<Event as Archive>::Archived: Deserialize<Event, __D>,
Query: Archive,
<Query as Archive>::Archived: Deserialize<Query, __D>,
Note: Archive,
<Note as Archive>::Archived: Deserialize<Note, __D>,
Document: Archive,
<Document as Archive>::Archived: Deserialize<Document, __D>,
Price: Archive,
<Price as Archive>::Archived: Deserialize<Price, __D>,
Custom: Archive,
<Custom as Archive>::Archived: Deserialize<Custom, __D>,
impl Eq for Directive
impl StructuralPartialEq for Directive
Auto Trait Implementations§
impl Freeze for Directive
impl RefUnwindSafe for Directive
impl Send for Directive
impl Sync for Directive
impl Unpin for Directive
impl UnwindSafe for Directive
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Archive, it may be
unsized. Read moreSource§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.