@@ -16,7 +16,7 @@ pub use tag_name::*;
1616pub use target:: * ;
1717
1818use crate :: config:: { global_options, WriteOptions } ;
19- use crate :: error:: LoftyError ;
19+ use crate :: error:: { LoftyError , Result } ;
2020use crate :: io:: { FileLike , Length , Truncate } ;
2121use crate :: picture:: Picture ;
2222use crate :: tag:: companion_tag:: CompanionTag ;
@@ -25,7 +25,6 @@ use crate::tag::{Accessor, MergeTag, SplitTag, TagExt, TagType};
2525use std:: borrow:: Cow ;
2626use std:: io:: Write ;
2727use std:: ops:: Deref ;
28- use std:: path:: Path ;
2928
3029use lofty_attr:: tag;
3130
@@ -405,3 +404,40 @@ impl From<crate::tag::Tag> for MatroskaTag {
405404 SplitTagRemainder :: default ( ) . merge_tag ( input)
406405 }
407406}
407+
408+ pub ( crate ) struct MatroskaTagRef < ' a , I , S >
409+ where
410+ I : Iterator < Item = TagRef < ' a , S > > ,
411+ S : Iterator < Item = Cow < ' a , SimpleTag < ' a > > > + ' a ,
412+ {
413+ tags : I ,
414+ }
415+
416+ impl < ' a , I , S > From < & ' a crate :: tag:: Tag > for MatroskaTagRef < ' a , I , S >
417+ where
418+ I : Iterator < Item = TagRef < ' a , S > > ,
419+ S : Iterator < Item = Cow < ' a , SimpleTag < ' a > > > ,
420+ {
421+ fn from ( _tag : & ' a crate :: tag:: Tag ) -> Self {
422+ todo ! ( )
423+ }
424+ }
425+
426+ impl < ' a , I , S > MatroskaTagRef < ' a , I , S >
427+ where
428+ I : Iterator < Item = TagRef < ' a , S > > ,
429+ S : Iterator < Item = Cow < ' a , SimpleTag < ' a > > > ,
430+ {
431+ pub ( crate ) fn write_to < F > ( & mut self , _file : & mut F , _write_options : WriteOptions ) -> Result < ( ) >
432+ where
433+ F : FileLike ,
434+ LoftyError : From < <F as Truncate >:: Error > ,
435+ LoftyError : From < <F as Length >:: Error > ,
436+ {
437+ todo ! ( )
438+ }
439+
440+ fn dump_to < W : Write > ( & self , _writer : & mut W , _write_options : WriteOptions ) -> Result < ( ) > {
441+ todo ! ( )
442+ }
443+ }
0 commit comments