[][src]Macro marc::fields

macro_rules! fields {
    (
        control fields: [$($ctag:expr => $cdata:expr),*];
    ) => { ... };
    (
        control fields: [$($ctag:expr => $cdata:expr,)*];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*] ),* ];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*] ),* ];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*],)* ];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*],)* ];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*] ),* ];
        control fields: [$($ctag:expr => $cdata:expr),*];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*] ),* ];
        control fields: [$($ctag:expr => $cdata:expr,)*];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*] ),* ];
        control fields: [$($ctag:expr => $cdata:expr),*];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*] ),* ];
        control fields: [$($ctag:expr => $cdata:expr,)*];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*],)* ];
        control fields: [$($ctag:expr => $cdata:expr),*];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*],)* ];
        control fields: [$($ctag:expr => $cdata:expr,)*];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*],)* ];
        control fields: [$($ctag:expr => $cdata:expr),*];
    ) => { ... };
    (
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*], )* ];
        control fields: [$($ctag:expr => $cdata:expr,)*];
    ) => { ... };
    (
        control fields: [$($ctag:expr => $cdata:expr),*];
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*] ),* ];
    ) => { ... };
    (
        control fields: [$($ctag:expr => $cdata:expr,)*];
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*] ),* ];
    ) => { ... };
    (
        control fields: [$($ctag:expr => $cdata:expr),*];
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*] ),* ];
    ) => { ... };
    (
        control fields: [$($ctag:expr => $cdata:expr,)*];
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*] ),* ];
    ) => { ... };
    (
        control fields: [$($ctag:expr => $cdata:expr),*];
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*],)* ];
    ) => { ... };
    (
        control fields: [$($ctag:expr => $cdata:expr,)*];
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr),*],)* ];
    ) => { ... };
    (
        control fields: [$($ctag:expr => $cdata:expr),*];
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*],)* ];
    ) => { ... };
    (
        control fields: [$($ctag:expr => $cdata:expr,)*];
        data fields: [ $( $dtag:expr, $dind:expr, [$($sfident:expr => $sfdata:expr,)*], )* ];
    ) => { ... };
}

Intended to use with RecordBuilder::add_fields.

builder.add_fields(fields!(
    control fields: [b"001" => "foo"];
    data fields: [
        b"856", b"41", [
            b'q' => "bar",
            b'u' => "baz",
        ],
    ];
));