mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-11 22:55:59 +05:45
This simplifies the import process back into google3 and allows us to add additional directories to the project without needing to update the project files for each directory we add. This shows up most clearly in the change to Firestore/Example/Firestore.xcodeproj/project.pbxproj: this no longer needs to list essentially every directory in the project as a header search path. * Clang-format configuration for C++ files * Add support C++-only sources to the podspec * Podspec support for fully qualified imports * xcodeproj changes for fully-qualified imports * Use fully-qualified imports in Firestore sources
42 lines
1.4 KiB
Objective-C
42 lines
1.4 KiB
Objective-C
/**
|
|
* Implementation of an immutable SortedMap using a Left-leaning
|
|
* Red-Black Tree, adapted from the implementation in Mugs
|
|
* (http://mads379.github.com/mugs/) by Mads Hartmann Jensen
|
|
* (mads379@gmail.com).
|
|
*
|
|
* Original paper on Left-leaning Red-Black Trees:
|
|
* http://www.cs.princeton.edu/~rs/talks/LLRB/LLRB.pdf
|
|
*
|
|
* Invariant 1: No red node has a red child
|
|
* Invariant 2: Every leaf path has the same number of black nodes
|
|
* Invariant 3: Only the left child can be red (left leaning)
|
|
*/
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#import "Firestore/third_party/Immutable/FSTImmutableSortedDictionary.h"
|
|
#import "Firestore/third_party/Immutable/FSTLLRBNode.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
* FSTTreeSortedDictionary is a tree-based implementation of FSTImmutableSortedDictionary.
|
|
* You should not use this class directly. You should use FSTImmutableSortedDictionary.
|
|
*/
|
|
@interface FSTTreeSortedDictionary <KeyType, ValueType> :
|
|
FSTImmutableSortedDictionary<KeyType, ValueType>
|
|
|
|
@property(nonatomic, copy, readonly) NSComparator comparator;
|
|
@property(nonatomic, strong, readonly) id<FSTLLRBNode> root;
|
|
|
|
- (id)init __attribute__((unavailable("Use initWithComparator:withRoot: instead.")));
|
|
|
|
- (instancetype)initWithComparator:(NSComparator)aComparator;
|
|
|
|
- (instancetype)initWithComparator:(NSComparator)aComparator
|
|
withRoot:(id<FSTLLRBNode>)aRoot NS_DESIGNATED_INITIALIZER;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|