Samond Classes Library 1.1.6-RELEASE build 132

SCBidirectionalList.h

Go to the documentation of this file.
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
 All Classes Files Functions Typedefs Enumerations Enumerator Defines