X-Git-Url: https://git.mdrn.pl/wl-app.git/blobdiff_plain/53b27422d140022594fc241cca91c3183be57bca..48b2fe9f7c2dc3d9aeaaa6dbfb27c7da4f3235ff:/iOS/Pods/Realm/include/RLMResults_Private.hpp diff --git a/iOS/Pods/Realm/include/RLMResults_Private.hpp b/iOS/Pods/Realm/include/RLMResults_Private.hpp new file mode 100644 index 0000000..a4f5abf --- /dev/null +++ b/iOS/Pods/Realm/include/RLMResults_Private.hpp @@ -0,0 +1,63 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2017 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 "RLMResults_Private.h" + +#import "results.hpp" + +class RLMClassInfo; + +NS_ASSUME_NONNULL_BEGIN + +@interface RLMResults () { +@protected + realm::Results _results; +} + +/** + Initialize a 'raw' `RLMResults` using only an object store level Results. + This is only meant for applications where a results collection is being backed + by an object store object class that has no binding-level equivalent. The + consumer is responsible for bridging between the underlying objects and whatever + binding-level class is being vended out. + */ +- (instancetype)initWithResults:(realm::Results)results; + ++ (instancetype)resultsWithObjectInfo:(RLMClassInfo&)info results:(realm::Results)results; +@end + +NS_ASSUME_NONNULL_END + +// Utility functions + +[[gnu::noinline]] +[[noreturn]] +void RLMThrowResultsError(NSString * _Nullable aggregateMethod); + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnullability-completeness" +template +static auto translateRLMResultsErrors(Function&& f, NSString *aggregateMethod=nil) { + try { + return f(); + } + catch (...) { + RLMThrowResultsError(aggregateMethod); + } +} +#pragma clang diagnostic pop