home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (C) 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- ///////////////////////////////////////////////////////////////////////////
- // OkTStructArray.h --
- //
- // Use this class for struct object only.
- // OkTStructArray will not call constructor and destructor of the elements.
- ///////////////////////////////////////////////////////////////////////////
- #pragma once
- #include "OkArray.h"
-
-
- template <class Type>
- class OkTStructArray : public OkArray {
-
- public:
- OkTStructArray();
- OkTStructArray( u_int size );
- OkTStructArray( OkTStructArray<Type>& );
- virtual ~OkTStructArray();
- virtual char *className() { return "OkTStructArray"; }
-
- void operator=( OkTStructArray<Type>& );
- Type& operator[](u_int index);
- void append(Type & item);
- void append(OkTStructArray<Type> &);
- void remove(u_int start, u_int length=1);
- void removeAll();
- void insert(OkTStructArray<Type> & a, u_int p);
- void insert(Type & item, u_int p);
-
- int find(Type& x, u_int start=0);
-
- OkTStructArray<Type> cut(u_int start, u_int len=1);
- OkTStructArray<Type> extract(u_int start, u_int len);
- OkTStructArray<Type> head(u_int len=1);
- OkTStructArray<Type> tail(u_int len=1);
-
- protected:
- OkTStructArray(u_int esize, u_int num, void * data);
-
- virtual int compareElements( Type, Type );
- virtual void destroyElements(void * , u_int );
-
- private:
- int compareElements( void*, void* );
- };
-