#[repr(C)]pub struct NSCoder { /* private fields */ }👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate features
Foundation and Foundation_NSCoder only.Implementations§
Source§impl NSCoder
NSAppKitColorExtensions
impl NSCoder
NSAppKitColorExtensions
pub unsafe fn decodeNXColor(&self) -> Option<Id<NSColor>>
👎Deprecated
Available on crate features
AppKit and AppKit_NSColor only.Source§impl NSCoder
impl NSCoder
pub unsafe fn encodeValueOfObjCType_at( &self, type: NonNull<c_char>, addr: NonNull<c_void>, )
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeDataObject(&self, data: &NSData)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSData only.pub unsafe fn decodeDataObject(&self) -> Option<Id<NSData>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSData only.pub unsafe fn decodeValueOfObjCType_at_size( &self, type: NonNull<c_char>, data: NonNull<c_void>, size: NSUInteger, )
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn versionForClassName(&self, class_name: &NSString) -> NSInteger
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.Source§impl NSCoder
NSExtendedCoder
impl NSCoder
NSExtendedCoder
pub unsafe fn encodeObject(&self, object: Option<&AnyObject>)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeRootObject(&self, root_object: &AnyObject)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeBycopyObject(&self, an_object: Option<&AnyObject>)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeByrefObject(&self, an_object: Option<&AnyObject>)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeConditionalObject(&self, object: Option<&AnyObject>)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeArrayOfObjCType_count_at( &self, type: NonNull<c_char>, count: NSUInteger, array: NonNull<c_void>, )
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeBytes_length( &self, byteaddr: *mut c_void, length: NSUInteger, )
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn decodeObject(&self) -> Option<Id<AnyObject>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn decodeTopLevelObjectAndReturnError( &self, ) -> Result<Id<AnyObject>, Id<NSError>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSError only.pub unsafe fn decodeArrayOfObjCType_count_at( &self, item_type: NonNull<c_char>, count: NSUInteger, array: NonNull<c_void>, )
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn decodeBytesWithReturnedLength( &self, lengthp: NonNull<NSUInteger>, ) -> *mut c_void
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodePropertyList(&self, a_property_list: &AnyObject)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn decodePropertyList(&self) -> Option<Id<AnyObject>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn setObjectZone(&self, zone: *mut NSZone)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn objectZone(&self) -> *mut NSZone
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn systemVersion(&self) -> c_uint
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn allowsKeyedCoding(&self) -> bool
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeObject_forKey( &self, object: Option<&AnyObject>, key: &NSString, )
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeConditionalObject_forKey( &self, object: Option<&AnyObject>, key: &NSString, )
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeBool_forKey(&self, value: bool, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeInt_forKey(&self, value: c_int, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeInt32_forKey(&self, value: i32, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeInt64_forKey(&self, value: i64, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeFloat_forKey(&self, value: c_float, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeDouble_forKey(&self, value: c_double, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeBytes_length_forKey( &self, bytes: *mut u8, length: NSUInteger, key: &NSString, )
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn containsValueForKey(&self, key: &NSString) -> bool
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeObjectForKey(&self, key: &NSString) -> Option<Id<AnyObject>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeTopLevelObjectForKey_error( &self, key: &NSString, ) -> Result<Id<AnyObject>, Id<NSError>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate features
Foundation_NSError and Foundation_NSString only.pub unsafe fn decodeBoolForKey(&self, key: &NSString) -> bool
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeIntForKey(&self, key: &NSString) -> c_int
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeInt32ForKey(&self, key: &NSString) -> i32
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeInt64ForKey(&self, key: &NSString) -> i64
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeFloatForKey(&self, key: &NSString) -> c_float
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeDoubleForKey(&self, key: &NSString) -> c_double
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeBytesForKey_returnedLength( &self, key: &NSString, lengthp: *mut NSUInteger, ) -> *mut u8
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeInteger_forKey(&self, value: NSInteger, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeIntegerForKey(&self, key: &NSString) -> NSInteger
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn requiresSecureCoding(&self) -> bool
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn decodeObjectOfClass_forKey( &self, a_class: &AnyClass, key: &NSString, ) -> Option<Id<AnyObject>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeTopLevelObjectOfClass_forKey_error( &self, a_class: &AnyClass, key: &NSString, ) -> Result<Id<AnyObject>, Id<NSError>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate features
Foundation_NSError and Foundation_NSString only.pub unsafe fn decodeArrayOfObjectsOfClass_forKey( &self, cls: &AnyClass, key: &NSString, ) -> Option<Id<NSArray>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate features
Foundation_NSArray and Foundation_NSString only.pub unsafe fn decodeDictionaryWithKeysOfClass_objectsOfClass_forKey( &self, key_cls: &AnyClass, object_cls: &AnyClass, key: &NSString, ) -> Option<Id<NSDictionary>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate features
Foundation_NSDictionary and Foundation_NSString only.pub unsafe fn decodeObjectOfClasses_forKey( &self, classes: Option<&NSSet<AnyObject>>, key: &NSString, ) -> Option<Id<AnyObject>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate features
Foundation_NSSet and Foundation_NSString only.pub unsafe fn decodeTopLevelObjectOfClasses_forKey_error( &self, classes: Option<&NSSet<AnyObject>>, key: &NSString, ) -> Result<Id<AnyObject>, Id<NSError>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate features
Foundation_NSError and Foundation_NSSet and Foundation_NSString only.pub unsafe fn decodeArrayOfObjectsOfClasses_forKey( &self, classes: &NSSet<AnyObject>, key: &NSString, ) -> Option<Id<NSArray>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate features
Foundation_NSArray and Foundation_NSSet and Foundation_NSString only.pub unsafe fn decodeDictionaryWithKeysOfClasses_objectsOfClasses_forKey( &self, key_classes: &NSSet<AnyObject>, object_classes: &NSSet<AnyObject>, key: &NSString, ) -> Option<Id<NSDictionary>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate features
Foundation_NSDictionary and Foundation_NSSet and Foundation_NSString only.pub unsafe fn decodePropertyListForKey( &self, key: &NSString, ) -> Option<Id<AnyObject>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn allowedClasses(&self) -> Option<Id<NSSet<AnyObject>>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSSet only.pub unsafe fn failWithError(&self, error: &NSError)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSError only.pub unsafe fn decodingFailurePolicy(&self) -> NSDecodingFailurePolicy
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn error(&self) -> Option<Id<NSError>>
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSError only.Source§impl NSCoder
NSTypedstreamCompatibility
impl NSCoder
NSTypedstreamCompatibility
pub unsafe fn encodeNXObject(&self, object: &AnyObject)
👎Deprecated: Not supported
pub unsafe fn decodeNXObject(&self) -> Option<Id<AnyObject>>
👎Deprecated: Not supported
Source§impl NSCoder
NSGeometryCoding
impl NSCoder
NSGeometryCoding
pub unsafe fn encodePoint(&self, point: NSPoint)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn decodePoint(&self) -> NSPoint
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeSize(&self, size: NSSize)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn decodeSize(&self) -> NSSize
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn encodeRect(&self, rect: NSRect)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationpub unsafe fn decodeRect(&self) -> NSRect
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationSource§impl NSCoder
NSGeometryKeyedCoding
impl NSCoder
NSGeometryKeyedCoding
pub unsafe fn encodePoint_forKey(&self, point: NSPoint, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeSize_forKey(&self, size: NSSize, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn encodeRect_forKey(&self, rect: NSRect, key: &NSString)
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodePointForKey(&self, key: &NSString) -> NSPoint
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeSizeForKey(&self, key: &NSString) -> NSSize
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.pub unsafe fn decodeRectForKey(&self, key: &NSString) -> NSRect
👎Deprecated:
icrate::Foundation has been moved to objc2-foundationAvailable on crate feature
Foundation_NSString only.Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Available on crate feature AuthenticationServices only.
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
AuthenticationServices only.Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Example
Check that an instance of NSObject has the precise class NSObject.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.Use Ivar::load instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T.
See Ivar::load_ptr for details surrounding this.
Sourcepub unsafe fn get_mut_ivar<T>(&mut self, name: &str) -> &mut Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load_mut instead.
pub unsafe fn get_mut_ivar<T>(&mut self, name: &str) -> &mut Twhere
T: Encode,
Ivar::load_mut instead.Use Ivar::load_mut instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T.
See Ivar::load_ptr for details surrounding this.
Trait Implementations§
Source§impl AsMut<NSCoder> for NSArchiver
impl AsMut<NSCoder> for NSArchiver
Source§impl AsMut<NSCoder> for NSKeyedArchiver
impl AsMut<NSCoder> for NSKeyedArchiver
Source§impl AsMut<NSCoder> for NSKeyedUnarchiver
impl AsMut<NSCoder> for NSKeyedUnarchiver
Source§impl AsMut<NSCoder> for NSPortCoder
impl AsMut<NSCoder> for NSPortCoder
Source§impl AsMut<NSCoder> for NSUnarchiver
impl AsMut<NSCoder> for NSUnarchiver
Source§impl AsMut<NSCoder> for NSXPCCoder
impl AsMut<NSCoder> for NSXPCCoder
Source§impl AsRef<NSCoder> for NSArchiver
impl AsRef<NSCoder> for NSArchiver
Source§impl AsRef<NSCoder> for NSKeyedArchiver
impl AsRef<NSCoder> for NSKeyedArchiver
Source§impl AsRef<NSCoder> for NSKeyedUnarchiver
impl AsRef<NSCoder> for NSKeyedUnarchiver
Source§impl AsRef<NSCoder> for NSPortCoder
impl AsRef<NSCoder> for NSPortCoder
Source§impl AsRef<NSCoder> for NSUnarchiver
impl AsRef<NSCoder> for NSUnarchiver
Source§impl AsRef<NSCoder> for NSXPCCoder
impl AsRef<NSCoder> for NSXPCCoder
Source§impl Borrow<NSCoder> for NSArchiver
impl Borrow<NSCoder> for NSArchiver
Source§impl Borrow<NSCoder> for NSKeyedArchiver
impl Borrow<NSCoder> for NSKeyedArchiver
Source§impl Borrow<NSCoder> for NSKeyedUnarchiver
impl Borrow<NSCoder> for NSKeyedUnarchiver
Source§impl Borrow<NSCoder> for NSPortCoder
impl Borrow<NSCoder> for NSPortCoder
Source§impl Borrow<NSCoder> for NSUnarchiver
impl Borrow<NSCoder> for NSUnarchiver
Source§impl Borrow<NSCoder> for NSXPCCoder
impl Borrow<NSCoder> for NSXPCCoder
Source§impl BorrowMut<AnyObject> for NSCoder
impl BorrowMut<AnyObject> for NSCoder
Source§fn borrow_mut(&mut self) -> &mut AnyObject
fn borrow_mut(&mut self) -> &mut AnyObject
Mutably borrows from an owned value. Read more
Source§impl BorrowMut<NSCoder> for NSArchiver
impl BorrowMut<NSCoder> for NSArchiver
Source§fn borrow_mut(&mut self) -> &mut NSCoder
fn borrow_mut(&mut self) -> &mut NSCoder
Mutably borrows from an owned value. Read more
Source§impl BorrowMut<NSCoder> for NSKeyedArchiver
impl BorrowMut<NSCoder> for NSKeyedArchiver
Source§fn borrow_mut(&mut self) -> &mut NSCoder
fn borrow_mut(&mut self) -> &mut NSCoder
Mutably borrows from an owned value. Read more
Source§impl BorrowMut<NSCoder> for NSKeyedUnarchiver
impl BorrowMut<NSCoder> for NSKeyedUnarchiver
Source§fn borrow_mut(&mut self) -> &mut NSCoder
fn borrow_mut(&mut self) -> &mut NSCoder
Mutably borrows from an owned value. Read more
Source§impl BorrowMut<NSCoder> for NSPortCoder
impl BorrowMut<NSCoder> for NSPortCoder
Source§fn borrow_mut(&mut self) -> &mut NSCoder
fn borrow_mut(&mut self) -> &mut NSCoder
Mutably borrows from an owned value. Read more
Source§impl BorrowMut<NSCoder> for NSUnarchiver
impl BorrowMut<NSCoder> for NSUnarchiver
Source§fn borrow_mut(&mut self) -> &mut NSCoder
fn borrow_mut(&mut self) -> &mut NSCoder
Mutably borrows from an owned value. Read more
Source§impl BorrowMut<NSCoder> for NSXPCCoder
impl BorrowMut<NSCoder> for NSXPCCoder
Source§fn borrow_mut(&mut self) -> &mut NSCoder
fn borrow_mut(&mut self) -> &mut NSCoder
Mutably borrows from an owned value. Read more
Source§impl BorrowMut<NSObject> for NSCoder
impl BorrowMut<NSObject> for NSCoder
Source§fn borrow_mut(&mut self) -> &mut NSObject
fn borrow_mut(&mut self) -> &mut NSObject
Mutably borrows from an owned value. Read more
Source§impl ClassType for NSCoder
impl ClassType for NSCoder
Source§const NAME: &'static str = "NSCoder"
const NAME: &'static str = "NSCoder"
The name of the Objective-C class that this type represents. Read more
Source§type Mutability = InteriorMutable
type Mutability = InteriorMutable
Whether the type is mutable or immutable. Read more
Source§fn class() -> &'static AnyClass
fn class() -> &'static AnyClass
Get a reference to the Objective-C class that this type represents. Read more
Source§fn as_super_mut(&mut self) -> &mut Self::Super
fn as_super_mut(&mut self) -> &mut Self::Super
Get a mutable reference to the superclass.
Source§impl NSObjectProtocol for NSCoder
impl NSObjectProtocol for NSCoder
Source§fn isEqual(&self, other: &AnyObject) -> bool
fn isEqual(&self, other: &AnyObject) -> bool
Check whether the object is equal to an arbitrary other object. Read more
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
An integer that can be used as a table address in a hash table
structure. Read more
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Check if the object is an instance of the class, or one of its
subclasses. Read more
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
Check if the object is an instance of the class type, or one of its
subclasses. Read more
Source§fn isMemberOfClass(&self, cls: &AnyClass) -> bool
fn isMemberOfClass(&self, cls: &AnyClass) -> bool
Check if the object is an instance of a specific class, without
checking subclasses. Read more
Source§fn respondsToSelector(&self, aSelector: Sel) -> bool
fn respondsToSelector(&self, aSelector: Sel) -> bool
Check whether the object implements or inherits a method with the
given selector. Read more
Source§fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
Check whether the object conforms to a given protocol. Read more
Source§fn debugDescription(&self) -> Id<NSObject>
fn debugDescription(&self) -> Id<NSObject>
A textual representation of the object to use when debugging. Read more
Source§impl RefEncode for NSCoder
impl RefEncode for NSCoder
Source§const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF
The Objective-C type-encoding for a reference of this type. Read more
impl Eq for NSCoder
impl Message for NSCoder
impl StructuralPartialEq for NSCoder
Auto Trait Implementations§
impl !Freeze for NSCoder
impl !RefUnwindSafe for NSCoder
impl !Send for NSCoder
impl !Sync for NSCoder
impl !Unpin for NSCoder
impl !UnwindSafe for NSCoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more