X-Git-Url: https://git.mdrn.pl/wl-app.git/blobdiff_plain/53b27422d140022594fc241cca91c3183be57bca..48b2fe9f7c2dc3d9aeaaa6dbfb27c7da4f3235ff:/iOS/Pods/Realm/include/RLMCollection_Private.hpp diff --git a/iOS/Pods/Realm/include/RLMCollection_Private.hpp b/iOS/Pods/Realm/include/RLMCollection_Private.hpp new file mode 100644 index 0000000..908c886 --- /dev/null +++ b/iOS/Pods/Realm/include/RLMCollection_Private.hpp @@ -0,0 +1,87 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2016 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +#import + +#import + +namespace realm { + class List; + class Results; + class TableView; + struct CollectionChangeSet; + struct NotificationToken; +} +class RLMClassInfo; +@class RLMFastEnumerator; + +@protocol RLMFastEnumerable +@property (nonatomic, readonly) RLMRealm *realm; +@property (nonatomic, readonly) RLMClassInfo *objectInfo; +@property (nonatomic, readonly) NSUInteger count; + +- (realm::TableView)tableView; +- (RLMFastEnumerator *)fastEnumerator; +@end + +// An object which encapulates the shared logic for fast-enumerating RLMArray +// and RLMResults, and has a buffer to store strong references to the current +// set of enumerated items +@interface RLMFastEnumerator : NSObject +- (instancetype)initWithList:(realm::List&)list + collection:(id)collection + realm:(RLMRealm *)realm + classInfo:(RLMClassInfo&)info; +- (instancetype)initWithResults:(realm::Results&)results + collection:(id)collection + realm:(RLMRealm *)realm + classInfo:(RLMClassInfo&)info; + +// Detach this enumerator from the source collection. Must be called before the +// source collection is changed. +- (void)detach; + +- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state + count:(NSUInteger)len; +@end +NSUInteger RLMFastEnumerate(NSFastEnumerationState *state, NSUInteger len, id collection); + +@interface RLMNotificationToken () +- (void)suppressNextNotification; +- (RLMRealm *)realm; +@end + +@interface RLMCancellationToken : RLMNotificationToken +- (instancetype)initWithToken:(realm::NotificationToken)token realm:(RLMRealm *)realm; +@end + +@interface RLMCollectionChange () +- (instancetype)initWithChanges:(realm::CollectionChangeSet)indices; +@end + +template +RLMNotificationToken *RLMAddNotificationBlock(id objcCollection, + Collection& collection, + void (^block)(id, RLMCollectionChange *, NSError *), + bool suppressInitialChange=false); + +template +NSArray *RLMCollectionValueForKey(Collection& collection, NSString *key, + RLMRealm *realm, RLMClassInfo& info); + +std::vector> RLMSortDescriptorsToKeypathArray(NSArray *properties);