152 lines · 2.8 KB · Objective-C
RawDownload
 /* * Portable Object Compiler (c) 1997,98.  All Rights Reserved. * $Id: sequence.m,v 1.2 2000/11/09 22:55:16 stes Exp $ */ /* * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Library General Public License as published  * by the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "config.h"#include "sequence.h"#if OBJC_BLOCKS#include "Block.h"#endif @implementation Sequence/***************************************************************************** * * Creation * ****************************************************************************/ - setUpCarrier:aCarrier{  carrier = aCarrier;  return self;} + over:aCarrier{  id newObj = [super new];  [newObj setUpCarrier:aCarrier];  return newObj;} - over:aCarrier{  return [self notImplemented:_cmd];} - copy{  return [isa over:[carrier copy]];} - free{  carrier = [carrier free];  return [super free];} - release{#ifdef OBJC_REFCNT  carrier = nil;  return [super release];#else  return [self notImplemented:_cmd];#endif} /***************************************************************************** * * Interrogation * ****************************************************************************/ - (unsigned) size{  return [carrier size];} /***************************************************************************** * * Accessing * ****************************************************************************/ - next{  return [carrier next];} - peek{  return [carrier peek];} - previous{  return [carrier previous];} - first{  return [carrier first];} - last{  return [carrier last];} /***************************************************************************** * * Printing * ****************************************************************************/ - printOn:(IOD)aFile{  id aMember;  while ((aMember = [self next]))    {      [aMember printOn:aFile];      fprintf (aFile, "\n");    }  return self;} /***************************************************************************** * * Performing * ****************************************************************************/ #if OBJC_BLOCKS- do:aBlock{  id aMember;  while ((aMember = [self next]))    [aBlock value:aMember];  return self;}#endif /* OBJC_BLOCKS */  @end 

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t