@@ -16,7 +16,7 @@ pub use tag_name::*;
16
16
pub use target:: * ;
17
17
18
18
use crate :: config:: { global_options, WriteOptions } ;
19
- use crate :: error:: LoftyError ;
19
+ use crate :: error:: { LoftyError , Result } ;
20
20
use crate :: io:: { FileLike , Length , Truncate } ;
21
21
use crate :: picture:: Picture ;
22
22
use crate :: tag:: companion_tag:: CompanionTag ;
@@ -25,7 +25,6 @@ use crate::tag::{Accessor, MergeTag, SplitTag, TagExt, TagType};
25
25
use std:: borrow:: Cow ;
26
26
use std:: io:: Write ;
27
27
use std:: ops:: Deref ;
28
- use std:: path:: Path ;
29
28
30
29
use lofty_attr:: tag;
31
30
@@ -405,3 +404,40 @@ impl From<crate::tag::Tag> for MatroskaTag {
405
404
SplitTagRemainder :: default ( ) . merge_tag ( input)
406
405
}
407
406
}
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