31 #ifndef MovableContainer_h 32 #define MovableContainer_h 34 #include "utility/actor/actor/MovableObject.h" 46 typedef typename C::iterator iterator;
47 typedef typename C::const_iterator const_iterator;
48 typedef typename C::reference reference;
49 typedef typename C::const_reference const_reference;
83 const size_t sz= container.size();
92 for(const_iterator i= container.begin();i!=container.end();i++)
93 res+= this->sendItem(*i,comm,dbTags,
CommMetaData(loc++));
96 std::cerr <<
"MovableContainer::sendSelf() - failed to send ID.\n";
106 container.resize(sz);
112 for(iterator i= container.begin();i!=container.end();i++)
113 res+= this->receiveItem(*i,comm,dbTags,
CommMetaData(loc++));
122 const int dataTag= getDbTag();
124 int res= sendData(comm);
126 res+= comm.
sendIdData(getDbTagData(),dataTag);
128 std::cerr <<
"MovableContainer::sendSelf() - failed to send data\n";
137 const int dataTag= getDbTag();
141 std::cerr <<
"MovableContainer::" << __FUNCTION__
142 <<
"; failed to receive ids.\n";
145 res+= recvData(comm);
147 std::cerr <<
"MovableContainer::" << __FUNCTION__
148 <<
"; failed to receive data.\n";
int sendIdData(const DbTagData &, const int &)
Sends miembro data through the communicator argument.
Definition: Communicator.cc:411
MovableContainer(C &)
Constructor.
Definition: MovableContainer.h:66
Communication parameters between processes.
Definition: Communicator.h:66
Object that can move between processes.
Definition: MovableObject.h:100
const int & getDbTagDataPos(const size_t &i) const
Returns the integer in the position being passed as parameter.
Definition: DbTagData.cc:58
int send(DbTagData &, Communicator &, const CommMetaData &) const
Sends the object.
Definition: DbTagData.cc:102
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:44
int recvData(const Communicator &)
Receive data through the communicator argument.
Definition: MovableContainer.h:102
int receive(DbTagData &, const Communicator &, const CommMetaData &)
Receive the object.
Definition: DbTagData.cc:106
Container that can move between processes.
Definition: MovableContainer.h:43
int sendData(Communicator &)
Send data through the communicator argument.
Definition: MovableContainer.h:81
virtual int recvSelf(const Communicator &)
Receive the container through the communicator argument.
Definition: MovableContainer.h:134
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags of the class members.
Definition: MovableContainer.h:73
int receiveIdData(DbTagData &, const int &) const
Receives el miembro data through the communicator argument.
Definition: Communicator.cc:415
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
virtual int sendSelf(Communicator &)
Sends container through the communicator argument.
Definition: MovableContainer.h:119
void setDbTagDataPos(const size_t &i, const int &v)
Sets the integer in the position being passed as parameter.
Definition: DbTagData.cc:77