Samond Classes Library 1.2.0-RELEASE build 166
SCQueue.h
Go to the documentation of this file.
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 
21 #import <scl/SCCollection.h>
22 
23 #pragma mark -
24 #pragma mark Константы класса
25 
29 #define SCQueueClass @"SCQueue"
30 
31 
74 @interface SCQueue : SCCollection {
75  NSMutableArray *fQueue; // Внутреннее представление очереди
76 }
77 
103 @property (nonatomic, retain, readonly, getter=firstObject) id firstObject;
104 
109 @property (nonatomic, retain, readonly, getter=firstString) NSString *firstString;
110 
115 @property (nonatomic, retain, readonly, getter=firstNumber) NSNumber *firstNumber;
116 
119 #pragma mark -
120 #pragma mark Создание очередей
121 + (SCQueue *)queueWithCoder:(NSCoder *)coder;
122 + (SCQueue *)queueWithContentsOfSerializedFile:(NSString *)path;
123 + (SCQueue *)queueWithDataDictionary:(NSDictionary *)dictionary;
124 + (SCQueue *)queueWithDataDictionaryFromFile:(NSString *)path;
125 + (SCQueue *)queueWithStream:(SCStream *)stream;
126 + (SCQueue *)queueWithFileStream:(NSString *)path;
127 
128 + (SCQueue *)queueWithName:(NSString *)name;
129 + (SCQueue *)queueWithObject:(id)object;
130 + (SCQueue *)queueWithObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
131 + (SCQueue *)queueWithCollection:(id)collection;
132 + (SCQueue *)queueWithQueue:(SCQueue *)queue;
133 + (SCQueue *)queue;
134 
135 #pragma mark -
136 #pragma mark Инициализация очередей
137 - (id)initWithName:(NSString *)name;
138 - (id)initWithObject:(id)object;
139 - (id)initWithObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
140 - (id)initWithCollection:(id)collection;
141 - (id)initWithQueue:(SCQueue *)queue;
142 - (id)init;
143 
144 #pragma mark -
145 #pragma mark Копирование очередей
146 - (void)setQueue:(SCQueue *)queue;
147 
148 #pragma mark -
149 #pragma mark Сравнение очередей
150 - (BOOL)isEqualToQueue:(SCQueue *)queue;
151 - (BOOL)isEqualToContentsOfQueue:(SCQueue *)queue;
152 
153 #pragma mark -
154 #pragma mark Извлечение объектов
155 - (id)getObject;
156 - (NSString *)getString;
157 - (NSNumber *)getNumber;
158 - (SCByte)getByte;
159 - (SCUByte)getUByte;
160 - (SCShort)getShort;
161 - (SCUShort)getUShort;
162 - (SCInteger)getInteger;
163 - (SCUInteger)getUInteger;
164 - (SCLong)getLong;
165 - (SCULong)getULong;
166 - (char)getChar;
167 - (unichar)getUnichar;
168 - (const char *)getCharString;
169 - (BOOL)getBool;
170 - (SCFloat)getFloat;
171 - (SCDouble)getDouble;
172 
173 #pragma mark -
174 #pragma mark Удаление объектов
175 - (void)removeFirstObject;
176 - (void)removeLastObject;
177 
178 #pragma mark -
179 #pragma mark Копирование объектов
180 - (void)duplicateFirstObject;
181 - (void)duplicateLastObject;
182 
183 #pragma mark -
184 #pragma mark Доступ к объектам очереди
185 - (id)firstObject;
186 - (NSString *)firstString;
187 - (NSNumber *)firstNumber;
188 
189 @end
NSNumber * firstNumber
Definition: SCQueue.h:115
uint64_t SCULong
Definition: SCTypes.h:78
int16_t SCShort
Definition: SCTypes.h:42
int64_t SCLong
Definition: SCTypes.h:54
NSString * firstString
Definition: SCQueue.h:109
int32_t SCInteger
Definition: SCTypes.h:48
uint32_t SCUInteger
Definition: SCTypes.h:72
int8_t SCByte
Definition: SCTypes.h:36
uint16_t SCUShort
Definition: SCTypes.h:66
uint8_t SCUByte
Definition: SCTypes.h:60
float_t SCFloat
Definition: SCTypes.h:84
Abstract collections class.
Definition: SCCollection.h:94
Queue of objects class.
Definition: SCQueue.h:74
id firstObject
Definition: SCQueue.h:103
double_t SCDouble
Definition: SCTypes.h:90
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:242