00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _uargs_hh
00026 #define _uargs_hh
00027
00028
00029
00030 class UArgsImpl;
00031
00044 class UArgs {
00045 friend class UGroup;
00046 friend class UBox;
00047 friend class UArgsImpl;
00048
00049 UArgs& operator=(const UArgs&);
00050 class UArgsChain* children;
00051
00052 public:
00053 static const UArgs none;
00054
00055 UArgs();
00056 ~UArgs();
00057 UArgs(const UArgs&);
00058 UArgs(const UArgsImpl&);
00059 UArgs(const char*);
00060 UArgs(class UBrick*);
00061 UArgs(class UBrick&);
00062 UArgs(class ULink&);
00063 UArgs(class ULink*);
00064
00065 UArgs& operator+=(const UArgs&);
00066
00067 friend const UArgsImpl& operator+(const UArgsImpl&, const char*);
00068 friend const UArgsImpl& operator+(const UArgsImpl&, class UBrick*);
00069 friend const UArgsImpl& operator+(const UArgsImpl&, class UBrick&);
00070 friend const UArgsImpl& operator+(const UArgsImpl&, class ULink&);
00071 friend const UArgsImpl& operator+(const UArgsImpl&, class ULink*);
00072 friend const UArgsImpl& operator+(const UArgsImpl&, const UArgs&);
00073 };
00074
00075
00076
00079 class UArgsImpl {
00080 friend class UGroup;
00081 friend class UBox;
00082 friend class UArgs;
00083
00084 UArgsImpl& operator=(const UArgsImpl&);
00085 class UArgsChain* children;
00086
00087 public:
00088 UArgsImpl();
00089 ~UArgsImpl();
00090 UArgsImpl(const UArgsImpl&);
00091 UArgsImpl(const UArgs&);
00092 UArgsImpl(const char*);
00093 UArgsImpl(class UBrick*);
00094 UArgsImpl(class UBrick&);
00095 UArgsImpl(class ULink&);
00096 UArgsImpl(class ULink*);
00097
00098 friend const UArgsImpl& operator+(const UArgsImpl&, const char*);
00099 friend const UArgsImpl& operator+(const UArgsImpl&, class UBrick*);
00100 friend const UArgsImpl& operator+(const UArgsImpl&, class UBrick&);
00101 friend const UArgsImpl& operator+(const UArgsImpl&, class ULink&);
00102 friend const UArgsImpl& operator+(const UArgsImpl&, class ULink*);
00103 friend const UArgsImpl& operator+(const UArgsImpl&, const UArgs&);
00104 };
00105
00106 #endif
00107
00108