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.1")]
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;
133#[cfg(feature = "NSURL")]
134mod url;
135mod util;
136#[cfg(feature = "NSUUID")]
137mod uuid;
138#[cfg(feature = "NSValue")]
139mod value;
140
141#[cfg(feature = "NSObjCRuntime")]
142pub use self::comparison_result::NSComparisonResult;
143#[cfg(feature = "NSObject")]
144pub use self::copying::{CopyingHelper, MutableCopyingHelper, NSCopying, NSMutableCopying};
145#[cfg(feature = "NSDecimal")]
146pub use self::decimal::NSDecimal;
147#[cfg(feature = "NSEnumerator")]
148pub use self::fast_enumeration_state::NSFastEnumerationState;
149#[allow(unused_imports, unreachable_pub)]
150pub use self::generated::*;
151#[cfg(feature = "NSGeometry")]
152pub use self::geometry::NSRectEdge;
153#[cfg(all(feature = "NSGeometry", feature = "objc2-core-foundation"))]
154pub use self::geometry::{NSPoint, NSRect, NSSize};
155#[cfg(feature = "NSMapTable")]
156pub use self::ns_consumed::NSFreeMapTable;
157#[cfg(feature = "NSRange")]
158pub use self::range::NSRange;
159#[cfg(feature = "NSThread")]
160pub use self::thread::*;
161
162pub use objc2::ffi::{NSInteger, NSUInteger};
165
166#[doc(inline)]
168#[cfg(feature = "NSZone")]
169pub use objc2::runtime::NSZone;
170#[doc(inline)]
171#[cfg(feature = "NSProxy")]
172pub use objc2::runtime::__NSProxy as NSProxy;
173pub use objc2::runtime::{NSObject, NSObjectProtocol};
174#[deprecated = "Moved to `objc2::MainThreadMarker`"]
175pub use objc2::MainThreadMarker;
176
177#[cfg_attr(feature = "gnustep-1-7", link(name = "gnustep-base", kind = "dylib"))]
178extern "C" {}
179
180#[allow(unused)]
182pub(crate) type Boolean = u8; #[allow(unused)]
184pub(crate) type FourCharCode = u32;
185#[allow(unused)]
186pub(crate) type OSType = FourCharCode;
187#[allow(unused)]
188pub(crate) type UTF32Char = u32; #[allow(unused)]
190#[cfg(target_pointer_width = "64")]
191pub(crate) type SRefCon = *mut core::ffi::c_void;
192#[allow(unused)]
193#[cfg(target_pointer_width = "32")]
194pub(crate) type SRefCon = i32;
195#[allow(unused)]
196pub(crate) type OSErr = i16;
197
198#[allow(non_upper_case_globals)]
200#[cfg(feature = "NSDate")]
201pub const NSTimeIntervalSince1970: crate::NSTimeInterval = 978307200.0;
202
203#[allow(non_upper_case_globals)]
205#[cfg(feature = "NSURLResponse")]
206pub const NSURLResponseUnknownLength: core::ffi::c_longlong = -1;