diff options
Diffstat (limited to 'Firestore/third_party/Immutable/FSTLLRBValueNode.h')
-rw-r--r-- | Firestore/third_party/Immutable/FSTLLRBValueNode.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Firestore/third_party/Immutable/FSTLLRBValueNode.h b/Firestore/third_party/Immutable/FSTLLRBValueNode.h new file mode 100644 index 0000000..4a0873c --- /dev/null +++ b/Firestore/third_party/Immutable/FSTLLRBValueNode.h @@ -0,0 +1,29 @@ +#import <Foundation/Foundation.h> + +#import "FSTLLRBNode.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FSTLLRBValueNode : NSObject <FSTLLRBNode> + +- (id)init __attribute__(( + unavailable("Use initWithKey:withValue:withColor:withLeft:withRight: instead."))); + +- (instancetype)initWithKey:(nullable id)key + withValue:(nullable id)value + withColor:(FSTLLRBColor)color + withLeft:(nullable id<FSTLLRBNode>)left + withRight:(nullable id<FSTLLRBNode>)right NS_DESIGNATED_INITIALIZER; + +@property(nonatomic, assign, readonly) FSTLLRBColor color; +@property(nonatomic, strong, readonly, nullable) id key; +@property(nonatomic, strong, readonly, nullable) id value; +@property(nonatomic, strong, readonly, nullable) id<FSTLLRBNode> right; + +// This property cannot be readonly, because it is set when building the tree. +// TODO(klimt): Find a way to build the tree without mutating this. +@property(nonatomic, strong, nullable) id<FSTLLRBNode> left; + +@end + +NS_ASSUME_NONNULL_END |