86 virtual void read(std::istream& is) = 0;
92 virtual void write(std::ostream& os)
const = 0;
97 virtual std::string
getName()
const = 0;
113 void setId(
unsigned long id);
void setIndex(unsigned int index)
Allows one to assign an index to an object in the handler/container.
unsigned int getId() const
Returns the unique identifier of any particular object.
unsigned int getIndex() const
Returns the index of the object in the handler.
It is an abstract base class due to the purely virtual functions declared below. Even if the function...
BaseObject()=default
Default constructor.
unsigned int index_
location in BaseHandler::objects_
friend std::ostream & operator<<(std::ostream &os, const BaseObject &o)
A purely virtual method with an implementation which reads the index from the stream and assigns it t...
std::ostream & operator<<(std::ostream &os, const BaseObject &o)
Operator overloading for passing the data from the BaseObject "o" into the output stream...
virtual void moveInHandler(unsigned int index)
Except that it is virtual, it does the same thing as setIndex() does.
unsigned int id_
unique identifier within handler (remains constant even if particle is moved)
virtual std::string getName() const =0
A purely virtual function.
virtual void read(std::istream &is)=0
std::istream & operator>>(std::istream &is, BaseObject &o)
Operator overloading for reading the data from an input stream into the BAseObject "o"...
unsigned getGroupId() const
void setGroupId(unsigned groupId)
virtual ~BaseObject()=default
virtual destructor
unsigned int groupId_
Identifier of a group within handler.
friend std::istream & operator>>(std::istream &is, BaseObject &o)
Operator overloading for reading the data from an input stream into the BAseObject "o"...
virtual void write(std::ostream &os) const =0
A purely virtual function which has an implementation which writes the name and the object id_ to the...
void setId(unsigned long id)
Assigns a unique identifier to each object in the handler (container) which remains constant even aft...