66 lines
1.2 KiB
C++
66 lines
1.2 KiB
C++
//-------------------------------------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, SH Software Co. Ltd.
|
|
// = FileName : RBList Àà
|
|
// = Version : ver2.0
|
|
// = Author : zjq
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: RBList ÉùÃ÷
|
|
// = Maintainers:
|
|
//
|
|
//-------------------------------------------------------------------------------------------------------+
|
|
#ifndef _RBLIST_H_
|
|
#define _RBLIST_H_
|
|
|
|
#ifndef _GROUPS_H_
|
|
#include "Groups.h"
|
|
#endif
|
|
|
|
class GEOAPI RBList
|
|
{
|
|
public:
|
|
|
|
RBList();
|
|
|
|
RBList(int,...);
|
|
|
|
RBList(const resbuf *rb);
|
|
|
|
RBList (const RBList & src);
|
|
|
|
~RBList();
|
|
|
|
operator resbuf *();
|
|
|
|
operator void * ();
|
|
|
|
int operator !() const;
|
|
|
|
void operator = (const RBList & src);
|
|
|
|
void Append(resbuf * lst);
|
|
|
|
void FreeGroups();
|
|
|
|
Groups *SearchNode(int cd) const;
|
|
|
|
int GetData (int cd,void *buf) const;
|
|
|
|
int SetData(int cd,...);
|
|
|
|
public:
|
|
|
|
PGroups groups;
|
|
|
|
protected:
|
|
#ifdef _WIN64
|
|
int _SetData(int, va_list);
|
|
#else
|
|
int _SetData(int,void *); // to support Entity::SetData & RBList::SetData;
|
|
#endif
|
|
private:
|
|
|
|
int SizeOfType(int type)const;
|
|
};
|
|
|
|
#endif
|