1#![doc = include_str!("../examples/basic_usage.rs")]
60#![doc = include_str!("../examples/speech_synthesis.rs")]
67#![no_std]
69#![cfg_attr(docsrs, feature(doc_auto_cfg))]
70#![doc(html_root_url = "https://docs.rs/objc2-foundation/0.3.0")]
72#![allow(non_snake_case)]
73#![recursion_limit = "512"]
74
75#[cfg(not(feature = "alloc"))]
76compile_error!("The `alloc` feature currently must be enabled.");
77
78extern crate alloc;
79
80#[cfg(feature = "std")]
81extern crate std;
82
83#[doc(hidden)]
84pub mod __ns_macro_helpers;
85#[cfg(feature = "NSEnumerator")]
86#[macro_use]
87mod iter;
88#[cfg(feature = "NSArray")]
89pub mod array;
90#[cfg(feature = "NSAttributedString")]
91mod attributed_string;
92#[cfg(feature = "NSBundle")]
93mod bundle;
94#[cfg(feature = "NSObjCRuntime")]
95mod comparison_result;
96#[cfg(feature = "NSObject")]
97mod copying;
98#[cfg(feature = "NSData")]
99mod data;
100#[cfg(feature = "NSDecimal")]
101mod decimal;
102#[cfg(feature = "NSDictionary")]
103pub mod dictionary;
104#[cfg(feature = "NSEnumerator")]
105pub mod enumerator;
106#[cfg(feature = "NSError")]
107mod error;
108#[cfg(feature = "NSException")]
109mod exception;
110#[cfg(feature = "NSEnumerator")]
111mod fast_enumeration_state;
112mod generated;
113#[cfg(feature = "NSGeometry")]
114mod geometry;
115mod macros;
116mod ns_consumed;
117#[cfg(feature = "NSValue")]
118mod number;
119#[cfg(feature = "NSProcessInfo")]
120mod process_info;
121#[cfg(feature = "NSRange")]
122mod range;
123#[cfg(feature = "NSSet")]
124pub mod set;
125#[cfg(feature = "NSString")]
126mod string;
127#[cfg(test)]
128mod tests;
129#[cfg(feature = "NSThread")]
130mod thread;
131#[cfg(feature = "NSObject")]
132mod to_owned;
133mod util;
134#[cfg(feature = "NSUUID")]
135mod uuid;
136#[cfg(feature = "NSValue")]
137mod value;
138
139#[cfg(feature = "NSObjCRuntime")]
140pub use self::comparison_result::NSComparisonResult;
141#[cfg(feature = "NSObject")]
142pub use self::copying::{CopyingHelper, MutableCopyingHelper, NSCopying, NSMutableCopying};
143#[cfg(feature = "NSDecimal")]
144pub use self::decimal::NSDecimal;
145#[cfg(feature = "NSEnumerator")]
146pub use self::fast_enumeration_state::NSFastEnumerationState;
147#[allow(unused_imports, unreachable_pub)]
148pub use self::generated::*;
149#[cfg(feature = "NSGeometry")]
150pub use self::geometry::NSRectEdge;
151#[cfg(all(feature = "NSGeometry", feature = "objc2-core-foundation"))]
152pub use self::geometry::{NSPoint, NSRect, NSSize};
153#[cfg(feature = "NSMapTable")]
154pub use self::ns_consumed::NSFreeMapTable;
155#[cfg(feature = "NSRange")]
156pub use self::range::NSRange;
157#[cfg(feature = "NSThread")]
158pub use self::thread::*;
159
160pub use objc2::ffi::{NSInteger, NSUInteger};
163
164#[doc(inline)]
166#[cfg(feature = "NSZone")]
167pub use objc2::runtime::NSZone;
168#[doc(inline)]
169#[cfg(feature = "NSProxy")]
170pub use objc2::runtime::__NSProxy as NSProxy;
171pub use objc2::runtime::{NSObject, NSObjectProtocol};
172#[deprecated = "Moved to `objc2::MainThreadMarker`"]
173pub use objc2::MainThreadMarker;
174
175#[cfg_attr(feature = "gnustep-1-7", link(name = "gnustep-base", kind = "dylib"))]
176extern "C" {}
177
178#[allow(unused)]
180pub(crate) type Boolean = u8; #[allow(unused)]
182pub(crate) type FourCharCode = u32;
183#[allow(unused)]
184pub(crate) type OSType = FourCharCode;
185#[allow(unused)]
186pub(crate) type UTF32Char = u32;