1#![ cfg_attr( feature = "no_std", no_std ) ]
2#![ doc( html_logo_url = "https://raw.githubusercontent.com/Wandalen/wTools/master/asset/img/logo_v3_trans_square.png" ) ]
3#![ doc( html_favicon_url = "https://raw.githubusercontent.com/Wandalen/wTools/alpha/asset/img/logo_v3_trans_square_icon_small_v2.ico" ) ]
4#![ doc( html_root_url = "https://docs.rs/implements/latest/implements/" ) ]
5#![ doc = include_str!( concat!( env!( "CARGO_MANIFEST_DIR" ), "/", "Readme.md" ) ) ]
14
15#[ cfg( feature = "enabled" ) ]
17mod implements_impl;
18
19#[ cfg( feature = "enabled" ) ]
21mod private
22{
23  #[ macro_export ]
34  macro_rules! implements
35  {
36    ( $( $arg : tt )+ ) =>
37    {
38      $crate::_implements!( $( $arg )+ );
39    }
40  }
41
42  #[ macro_export ]
53  macro_rules! instance_of
54  {
55    ( $( $arg : tt )+ ) =>
56    {
57      $crate::_implements!( $( $arg )+ );
58    }
59  }
60
61  pub use implements;
62  pub use instance_of;
63}
64
65#[ doc( inline ) ]
66#[ allow( unused_imports ) ]
67#[ cfg( feature = "enabled" ) ]
68pub use own::*;
69
70#[ cfg( feature = "enabled" ) ]
72#[ allow( unused_imports ) ]
73pub mod own
74{
75  use super::*;
76  #[ doc( inline ) ]
77  pub use orphan::*;
78}
79
80#[ cfg( feature = "enabled" ) ]
82#[ allow( unused_imports ) ]
83pub mod orphan
84{
85  use super::*;
86  #[ doc( inline ) ]
87  pub use exposed::*;
88}
89
90#[ cfg( feature = "enabled" ) ]
92#[ allow( unused_imports ) ]
93pub mod exposed
94{
95  use super::*;
96  #[ doc( inline ) ]
97  pub use prelude::*;
98}
99
100#[ cfg( feature = "enabled" ) ]
102#[ allow( unused_imports ) ]
103pub mod prelude
104{
105  use super::{ private };
106  #[ doc( inline ) ]
107  pub use private::
108  {
109    implements,
110    instance_of,
111  };
112}