22 :
Msg(
ObjId( managerId_, (msgIndex != 0 ) ? msgIndex: msg_.size() ),
23 e1.element(), e2.element() ),
26 f2_( e2.fieldIndex() )
30 msg_.push_back(
this );
33 else if (
msg_.size() <= msgIndex )
35 msg_.resize( msgIndex + 1 );
37 msg_[ msgIndex ] =
this;
112 FuncId fid,
unsigned int b,
unsigned int n )
const
124 else if ( orig ==
e2() )
139 cout <<
"Error: SingleMsg::copy: SliceMsg not yet implemented\n";
155 "Index of source object.",
161 "Index of dest object.",
166 static Finfo* singleMsgFinfos[] =
177 sizeof( singleMsgFinfos ) /
sizeof(
Finfo* ),
231 assert( index <
msg_.size() );
232 return reinterpret_cast< char*
>(
msg_[index] );
ObjId findOtherEnd(ObjId end) const
Eref firstTgt(const Eref &src) const
Element * element() const
Synonym for Id::operator()()
void addMsgAndFunc(ObjId mid, FuncId fid, BindIndex bindIndex)
Element * element() const
void sources(vector< vector< Eref > > &v) const
static vector< SingleMsg * > msg_
virtual unsigned int numData() const =0
Returns number of data entries across all nodes.
unsigned int getTargetField() const
void targets(vector< vector< Eref > > &v) const
Element * e1_
Index of this Msg on the msg_ vector.
Element * element() const
static const Cinfo * initCinfo()
static const Cinfo * singleMsgCinfo
Msg * copy(Id origSrc, Id newSrc, Id newTgt, FuncId fid, unsigned int b, unsigned int n) const
Element * e2_
Element 1 attached to Msg.
void setTargetField(unsigned int f)
static unsigned int numMsg()
Msg lookup functions.
SingleMsg(const Eref &e1, const Eref &e2, unsigned int msgIndex)
const unsigned int BADINDEX
Used by ObjId and Eref.
static char * lookupMsg(unsigned int index)
Static function for Msg access.
static const Cinfo * initCinfo()