|
Samond Classes Library 1.1.6-RELEASE build 132
|
00001 // 00002 // SCBidirectionalList.h 00003 // scl 00004 // 00005 // Created by Viacheslav Smolensky on 13.04.12. 00006 // Copyright (c) 2007 - 2014 by Samond Development Corporation. All rights reserved. 00007 // 00008 00015 #import <scl/SCList.h> 00016 00017 #define SCBidirectionalListClass @"SCBidirectionalList" ///< SCBidirectionalList class name 00018 00030 @interface SCBidirectionalList : SCList { 00031 00032 } 00033 #pragma mark - 00034 #pragma mark Class properties 00035 #if (__MAC_OS_X_VERSION_MIN_REQUIRED > 1040) || IOS_TARGET 00036 // Last object property 00037 @property (retain, readonly, getter=lastObject) id lastObject; 00038 #endif 00039 00040 #pragma mark - 00041 #pragma mark Creating List 00042 00048 + (SCBidirectionalList *)listWithDataDictionary:(NSDictionary *)dictionary; 00049 00055 + (SCBidirectionalList *)listWithDataDictionaryFromFile:(NSString *)path; 00056 00062 + (SCBidirectionalList *)listWithCoder:(NSCoder *)coder; 00063 00069 + (SCBidirectionalList *)listWithContentsOfSerializedFile:(NSString *)path; 00070 00078 + (SCBidirectionalList *)listWithStream:(SCStream *)stream; 00079 00086 + (SCBidirectionalList *)listWithFileStream:(NSString *)path; 00087 00092 + (SCBidirectionalList *)list; 00093 00100 + (SCBidirectionalList *)listWithListName:(NSString *)name capacity:(SCULong)capacity; 00101 00107 + (SCBidirectionalList *)listWithListName:(NSString *)name; 00108 00114 + (SCBidirectionalList *)listWithCapacity:(SCULong)capacity; 00115 00121 + (SCBidirectionalList *)listWithDelegate:(id<SCCollectionDelegate>)delegate; 00122 00130 + (SCBidirectionalList *)listWithDelegate:(id<SCCollectionDelegate>)delegate 00131 collection:(id)collection; 00132 00139 + (SCBidirectionalList *)listWithCollection:(id)collection; 00140 00148 + (SCBidirectionalList *)listWithDelegate:(id<SCCollectionDelegate>)delegate object:(id)object; 00149 00156 + (SCBidirectionalList *)listWithObject:(id)object; 00157 00166 + (SCBidirectionalList *)listWithDelegate:(id<SCCollectionDelegate>)delegate 00167 objects:(id)object, ...; 00168 00176 + (SCBidirectionalList *)listWithObjects:(id)object, ...; 00177 00184 + (SCBidirectionalList *)listWithList:(SCList *)list; 00185 00186 #pragma mark - 00187 #pragma mark Querying List 00188 00193 - (id)lastObject; 00194 00200 - (NSString *)lastString; 00201 00207 - (NSNumber *)lastNumber; 00208 00214 - (SCByte)lastByte; 00215 00221 - (SCUByte)lastUByte; 00222 00228 - (SCShort)lastShort; 00229 00235 - (SCUShort)lastUShort; 00236 00242 - (SCInteger)lastInteger; 00243 00249 - (SCUInteger)lastUInteger; 00250 00256 - (SCLong)lastLong; 00257 00263 - (SCULong)lastULong; 00264 00270 - (char)lastChar; 00271 00277 - (unichar)lastUnichar; 00278 00284 - (const char *)lastCharString; 00285 00291 - (BOOL)lastBool; 00292 00298 - (SCFloat)lastFloat; 00299 00305 - (SCDouble)lastDouble; 00306 00307 #pragma mark - 00308 #pragma mark Controlling List 00309 00315 - (id)previousObject; 00316 00317 #pragma mark - 00318 #pragma mark Adding Objects 00319 00325 - (void)insertLastObject:(id)object; 00326 00332 - (void)insertLastByte:(SCByte)byte; 00333 00339 - (void)insertLastUByte:(SCUByte)byte; 00340 00346 - (void)insertLastShort:(SCShort)shortint; 00347 00353 - (void)insertLastUShort:(SCUShort)shortint; 00354 00360 - (void)insertLastInteger:(SCInteger)integer; 00361 00367 - (void)insertLastUInteger:(SCUInteger)integer; 00368 00374 - (void)insertLastLong:(SCLong)longint; 00375 00381 - (void)insertLastULong:(SCULong)longint; 00382 00388 - (void)insertLastChar:(char)chr; 00389 00395 - (void)insertLastUnichar:(unichar)chr; 00396 00402 - (void)insertLastCharString:(const char *)string; 00403 00409 - (void)insertLastBool:(BOOL)boolean; 00410 00416 - (void)insertLastFloat:(SCFloat)flt; 00417 00423 - (void)insertLastDouble:(SCDouble)dbl; 00424 00431 - (void)insertLastObjects:(id)object, ...; 00432 00438 - (void)insertLastObjectsFromCollection:(id)collection; 00439 00440 #pragma mark - 00441 #pragma mark Removing Objects 00442 00447 - (void)removeLastObject; 00448 00449 #pragma mark - 00450 #pragma mark Replacing Objects 00451 00457 - (void)replaceLastObjectWithObject:(id)object; 00458 00464 - (void)replaceLastObjectWithByte:(SCByte)byte; 00465 00471 - (void)replaceLastObjectWithUByte:(SCUByte)byte; 00472 00478 - (void)replaceLastObjectWithShort:(SCShort)shortint; 00479 00485 - (void)replaceLastObjectWithUShort:(SCUShort)shortint; 00486 00492 - (void)replaceLastObjectWithInteger:(SCInteger)integer; 00493 00499 - (void)replaceLastObjectWithUInteger:(SCUInteger)integer; 00500 00506 - (void)replaceLastObjectWithLong:(SCLong)longint; 00507 00513 - (void)replaceLastObjectWithULong:(SCULong)longint; 00514 00520 - (void)replaceLastObjectWithChar:(char)chr; 00521 00527 - (void)replaceLastObjectWithUnichar:(unichar)chr; 00528 00534 - (void)replaceLastObjectWithCharString:(const char *)string; 00535 00541 - (void)replaceLastObjectWithBool:(BOOL)boolean; 00542 00548 - (void)replaceLastObjectWithFloat:(SCFloat)flt; 00549 00555 - (void)replaceLastObjectWithDouble:(SCDouble)dbl; 00556 00557 #pragma mark - 00558 #pragma mark Copying Objects 00559 00564 - (void)duplicateLastObject; 00565 00566 @end
1.7.3