Samond Classes Library 1.2.1-RELEASE build 181
SCStack.h
См. документацию.
1 //
2 // SCStack.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 13.04.12.
6 // Copyright (c) 2007 - 2017 by Samond Development Corporation. All rights reserved.
7 //
8 
22 #import <scl/SCCollection.h>
23 
24 #pragma mark -
25 #pragma mark Class Constants
26 
30 #define SCStackClass @"SCStack"
31 
32 
69 @interface SCStack : SCCollection {
70  NSMutableArray *fStack; // Internal data storage
71 }
72 
100 @property (nonatomic, retain, readonly, getter=topObject) id topObject;
101 
104 #pragma mark -
105 #pragma mark Creating Stacks
106 + (instancetype)stackWithCoder:(NSCoder *)coder;
107 + (instancetype)stackWithContentsOfSerializedFile:(NSString *)path;
108 + (instancetype)stackWithDataDictionary:(NSDictionary *)dictionary;
109 + (instancetype)stackWithDataDictionaryFromFile:(NSString *)path;
110 + (instancetype)stackWithStream:(SCStream *)stream;
111 + (instancetype)stackWithFileStream:(NSString *)path;
112 
113 + (instancetype)stackWithName:(NSString *)name;
114 + (instancetype)stackWithObject:(id<SCCollectioning>)object;
115 + (instancetype)stackWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
116 + (instancetype)stackWithCollection:(id<SCCollection>)collection;
117 + (instancetype)stackWithStack:(SCStack *)stack;
118 + (instancetype)stack;
119 
120 #pragma mark -
121 #pragma mark Initializing Stacks
122 - (instancetype)initWithName:(NSString *)name;
123 - (instancetype)initWithObject:(id<SCCollectioning>)object;
124 - (instancetype)initWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
125 - (instancetype)initWithCollection:(id<SCCollection>)collection;
126 - (instancetype)initWithStack:(SCStack *)stack;
127 - (instancetype)init;
128 
129 #pragma mark -
130 #pragma mark Copying Stacks
131 - (void)setStack:(SCStack *)stack;
132 
133 #pragma mark -
134 #pragma mark Comparing Stacks
135 - (BOOL)isEqualToStack:(SCStack *)stack;
136 - (BOOL)isEqualToContentsOfStack:(SCStack *)stack;
137 
138 #pragma mark -
139 #pragma mark Pushing Objects
140 - (void)pushObject:(id<SCCollectioning>)object;
141 - (void)pushObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
142 - (void)pushCollection:(id<SCCollection>)collection;
143 
144 #pragma mark -
145 #pragma mark Poping Objects
146 - (void)pop;
147 - (id)popObject;
148 
149 #pragma mark -
150 #pragma mark Removing Objects
151 - (void)removeTopObject;
152 
153 #pragma mark -
154 #pragma mark Copying Objects
155 - (void)duplicateTopObject;
156 
157 #pragma mark -
158 #pragma mark Querying a Stack
159 - (id)topObject;
160 
161 @end
Протокол взаимодействия с механизмом коллекций
Definition: SCCollectioning.h:80
Абстрактный класс механизма коллекций библиотеки
Definition: SCCollection.h:94
Класс стека объектов
Definition: SCStack.h:69
id topObject
Definition: SCStack.h:100
Абстрактный класс потоков библиотеки
Definition: SCStream.h:242