Samond Classes Library 1.2.1-RELEASE build 181
SCQueue.h
См. документацию.
1 //
2 // SCQueue.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 SCQueueClass @"SCQueue"
31 
32 
74 @interface SCQueue : SCCollection {
75  NSMutableArray *fQueue; // Internal data storage
76 }
77 
103 @property (nonatomic, retain, readonly, getter=firstObject) id firstObject;
104 
107 #pragma mark -
108 #pragma mark Creating Queues
109 + (instancetype)queueWithCoder:(NSCoder *)coder;
110 + (instancetype)queueWithContentsOfSerializedFile:(NSString *)path;
111 + (instancetype)queueWithDataDictionary:(NSDictionary *)dictionary;
112 + (instancetype)queueWithDataDictionaryFromFile:(NSString *)path;
113 + (instancetype)queueWithStream:(SCStream *)stream;
114 + (instancetype)queueWithFileStream:(NSString *)path;
115 
116 + (instancetype)queueWithName:(NSString *)name;
117 + (instancetype)queueWithObject:(id<SCCollectioning>)object;
118 + (instancetype)queueWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
119 + (instancetype)queueWithCollection:(id<SCCollection>)collection;
120 + (instancetype)queueWithQueue:(SCQueue *)queue;
121 + (instancetype)queue;
122 
123 #pragma mark -
124 #pragma mark Initializing Queues
125 - (instancetype)initWithName:(NSString *)name;
126 - (instancetype)initWithObject:(id<SCCollectioning>)object;
127 - (instancetype)initWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
128 - (instancetype)initWithCollection:(id<SCCollection>)collection;
129 - (instancetype)initWithQueue:(SCQueue *)queue;
130 - (instancetype)init;
131 
132 #pragma mark -
133 #pragma mark Copying Queues
134 - (void)setQueue:(SCQueue *)queue;
135 
136 #pragma mark -
137 #pragma mark Comparing Queues
138 - (BOOL)isEqualToQueue:(SCQueue *)queue;
139 - (BOOL)isEqualToContentsOfQueue:(SCQueue *)queue;
140 
141 #pragma mark -
142 #pragma mark Getting Objects
143 - (id)getObject;
144 
145 #pragma mark -
146 #pragma mark Removing Objects
147 - (void)removeFirstObject;
148 - (void)removeLastObject;
149 
150 #pragma mark -
151 #pragma mark Copying Objects
152 - (void)duplicateFirstObject;
153 - (void)duplicateLastObject;
154 
155 #pragma mark -
156 #pragma mark Querying a Queue
157 - (id)firstObject;
158 
159 @end
Протокол взаимодействия с механизмом коллекций
Definition: SCCollectioning.h:80
Абстрактный класс механизма коллекций библиотеки
Definition: SCCollection.h:94
Класс очереди объектов
Definition: SCQueue.h:74
id firstObject
Definition: SCQueue.h:103
Абстрактный класс потоков библиотеки
Definition: SCStream.h:242