16#ifndef __OMNETPP_CARRAY_H
17#define __OMNETPP_CARRAY_H
19#include "cownedobject.h"
38class SIM_API
cArray :
public cOwnedObject
85 bool end()
const {
return k<0 || k>=array->size();}
117 enum {FL_TKOWNERSHIP = 4};
118 cObject **vect =
nullptr;
125 void copy(
const cArray& other);
142 explicit cArray(
const char *name=
nullptr,
int capacity=0,
int delta=10);
173 virtual std::string
str()
const override;
204 virtual int size()
const {
return last+1;}
228 virtual int add(cObject *obj);
235 virtual int addAt(
int m, cObject *obj);
244 virtual int set(cObject *obj);
251 virtual int find(cObject *obj)
const;
258 virtual int find(
const char *objname)
const;
264 virtual cObject *
get(
int m);
270 virtual cObject *
get(
const char *objname);
276 virtual const cObject *
get(
int m)
const;
282 virtual const cObject *
get(
const char *objname)
const;
311 virtual bool exist(
int m)
const {
return m>=0 && m<=last && vect[m]!=
nullptr;}
317 virtual bool exist(
const char *objname)
const {
return find(objname)!=-1;}
331 virtual cObject *
remove(
const char *objname);
cObject * operator*() const
Definition carray.h:80
Iterator(const cArray &a, bool atHead=true)
Definition carray.h:69
Iterator operator--(int)
Definition carray.h:113
void init(const cArray &a, bool atHead=true)
Iterator operator++(int)
Definition carray.h:99
Iterator & operator++()
Definition carray.h:92
Iterator & operator--()
Definition carray.h:106
bool end() const
Definition carray.h:85
virtual int getCapacity() const
Definition carray.h:215
virtual int find(const char *objname) const
void setTakeOwnership(bool tk)
Definition carray.h:362
virtual int add(cObject *obj)
cArray(const cArray &list)
cArray(const char *name=nullptr, int capacity=0, int delta=10)
virtual int size() const
Definition carray.h:204
virtual const cObject * get(const char *objname) const
virtual bool exist(int m) const
Definition carray.h:311
virtual void parsimPack(cCommBuffer *buffer) const override
virtual cObject * get(const char *objname)
cArray & operator=(const cArray &list)
virtual bool exist(const char *objname) const
Definition carray.h:317
const cObject * operator[](int m) const
Definition carray.h:300
cObject * operator[](int m)
Definition carray.h:288
virtual cObject * remove(cObject *obj)
virtual void parsimUnpack(cCommBuffer *buffer) override
virtual cObject * remove(const char *objname)
virtual void setCapacity(int capacity)
virtual cObject * get(int m)
virtual const cObject * get(int m) const
cObject * operator[](const char *objname)
Definition carray.h:294
const cObject * operator[](const char *objname) const
Definition carray.h:306
virtual int find(cObject *obj) const
virtual int set(cObject *obj)
virtual cArray * dup() const override
Definition carray.h:167
bool getTakeOwnership() const
Definition carray.h:369
virtual void forEachChild(cVisitor *v) override
virtual int addAt(int m, cObject *obj)
virtual std::string str() const override
virtual cObject * remove(int m)
Buffer for the communications layer of parallel simulation.
Definition ccommbuffer.h:42
Enables traversing the tree of (cObject-rooted) simulation objects.
Definition cvisitor.h:57