ftp.nice.ch/pub/next/developer/resources/libraries/libobjects.0.1.0.s.tar.gz#/libobjects-0.1.0/checks/test03.m

This is test03.m in view mode; [Download] [Up]

#include <objects/objects.h>


int main()
{
  id array = [[Array alloc] initWithType:@encode(int)];
  id bag;
  id llist;
  id btree;

  [array addElementsCount:6, ((elt)0),((elt)1),((elt)5),((elt)3),
	 ((elt)4),((elt)2)];
  bag = [array shallowCopyAs:[Bag class]];
  llist = [[EltNodeCollector alloc] initWithType:@encode(int)
	   nodeCollector:[[LinkedList alloc] init]
	   nodeClass:[LinkedListEltNode class]];
  [llist addContentsOf:array];

  btree = [[EltNodeCollector alloc] initWithType:@encode(int)
	   nodeCollector:[[BinaryTree alloc] init]
	   nodeClass:[BinaryTreeEltNode class]];
  [btree addContentsOf:array];
  printf("btree count = %d\n", [btree count]);

  /* tmp test */
/*
  if (typeof((id)0) != typeof(id))
    printf("typeof error\n");
*/

  [array printForDebugger];
  [bag printForDebugger];
  [llist printForDebugger];
  [btree printForDebugger];

  /*  foo = [array shallowCopyAs:[Object class]]; 
   Shouldn't the compiler complain about this?
   Object does not conform to <Collecting> */

  exit(0);
}


These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.