53 FXint
no()
const {
return *((FXint*)(ptr-1)); }
60 FXptr
const& operator[](FXint i)
const {
return ptr[i]; }
63 FXptr&
at(FXint i){
return ptr[i]; }
64 FXptr
const& at(FXint i)
const {
return ptr[i]; }
67 FXptr&
head(){
return ptr[0]; }
68 FXptr
const& head()
const {
return ptr[0]; }
71 FXptr&
tail(){
return ptr[no()-1]; }
72 FXptr
const& tail()
const {
return ptr[no()-1]; }
75 FXptr*
data(){
return ptr; }
76 const FXptr* data()
const {
return ptr; }
79 void adopt(FXPtrList& orig);
82 FXbool assign(FXptr
object);
85 FXbool assign(FXptr
object,FXint n);
88 FXbool assign(FXptr* objects,FXint n);
91 FXbool assign(
const FXPtrList& objects);
94 FXbool insert(FXint pos,FXptr
object);
97 FXbool insert(FXint pos,FXptr
object,FXint n);
100 FXbool insert(FXint pos,FXptr* objects,FXint n);
103 FXbool insert(FXint pos,
const FXPtrList& objects);
106 FXbool prepend(FXptr
object);
109 FXbool prepend(FXptr
object,FXint n);
112 FXbool prepend(FXptr* objects,FXint n);
115 FXbool prepend(
const FXPtrList& objects);
118 FXbool append(FXptr
object);
121 FXbool append(FXptr
object,FXint n);
124 FXbool append(FXptr* objects,FXint n);
127 FXbool append(
const FXPtrList& objects);
130 FXbool replace(FXint pos,FXptr
object);
133 FXbool replace(FXint pos,FXint m,FXptr
object,FXint n);
136 FXbool replace(FXint pos,FXint m,FXptr* objects,FXint n);
139 FXbool replace(FXint pos,FXint m,
const FXPtrList& objects);
142 FXbool erase(FXint pos);
145 FXbool erase(FXint pos,FXint n);
148 FXbool push(FXptr
object);
154 FXbool
remove(FXptr object);
157 FXint find(FXptr
object,FXint pos=0)
const;
160 FXint rfind(FXptr
object,FXint pos=2147483647)
const;
166 virtual ~FXPtrList();
191 TYPE*&
operator[](FXint i){
return reinterpret_cast<TYPE*&
>(ptr[i]); }
192 TYPE *
const&
operator[](FXint i)
const {
return reinterpret_cast<TYPE*const&
>(ptr[i]); }
195 TYPE*&
at(FXint i){
return reinterpret_cast<TYPE*&
>(ptr[i]); }
196 TYPE *
const&
at(FXint i)
const {
return reinterpret_cast<TYPE*const&
>(ptr[i]); }
199 TYPE*&
head(){
return reinterpret_cast<TYPE*&
>(ptr[0]); }
200 TYPE*
const&
head()
const {
return reinterpret_cast<TYPE*const&
>(ptr[0]); }
203 TYPE*&
tail(){
return reinterpret_cast<TYPE*&
>(ptr[
no()-1]); }
204 TYPE*
const&
tail()
const {
return reinterpret_cast<TYPE* const&
>(ptr[
no()-1]); }
207 TYPE**
data(){
return reinterpret_cast<TYPE**
>(ptr); }
208 TYPE *
const *
data()
const {
return reinterpret_cast<TYPE*const*
>(ptr); }