MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <ObjId.h>
Public Member Functions | |
bool | bad () const |
char * | data () const |
Element * | element () const |
Eref | eref () const |
bool | isDataHere () const |
bool | isGlobal () const |
Returns true if the Element is global. More... | |
bool | isOffNode () const |
Returns true if we need to go off-node for calling operations. More... | |
ObjId () | |
ObjId (Id i, unsigned int d, unsigned int f=0) | |
ObjId (Id i) | |
ObjId (const string &path) | |
bool | operator!= (const ObjId &other) const |
bool | operator< (const ObjId &other) const |
bool | operator== (const ObjId &other) const |
string | path () const |
Public Attributes | |
unsigned int | dataIndex |
unsigned int | fieldIndex |
Id | id |
Friends | |
ostream & | operator<< (ostream &s, const ObjId &i) |
istream & | operator>> (istream &s, ObjId &i) |
This class manages lookups for specific data entries in elements, in a node-independent manner. It is basically a composite of Id and DataIndex.
|
inline |
ObjId::ObjId | ( | const string & | path | ) |
Creates an ObjId by reading the path string Returns bad on failure.
bool ObjId::bad | ( | ) | const |
True if the return value is bad: either returning a failure, or the DataIndex or FieldIndex is out of range. However, this is a node-local funtion so it can't report the FieldIndex status in all cases.
Definition at line 18 of file ObjId.cpp.
References BADINDEX, dataIndex, fieldIndex, and Element::numData().
Referenced by ReadCell::addCanonicalChannel(), ReadCell::addChannelMessage(), benchmarkMsg(), ReadCell::buildCompartment(), create_Id_from_path(), HSolve::deleteIncomingMessages(), doClassSpecificMessaging(), Dsolve::fillConcChans(), moose_connect(), moose_copy(), moose_delete(), moose_element(), moose_move(), moose_ObjId_connect(), moose_setCwe(), HSolveActive::readSynapses(), ReadCell::startGraftCell(), testAssortedMsg(), testCalcJunction(), testMsgElementListing(), and testTreeTraversal().
char * ObjId::data | ( | ) | const |
Returns data entry for this object
Definition at line 113 of file ObjId.cpp.
References dataIndex, element(), and fieldIndex.
Referenced by Synapse::addMsgCallback(), addToBuf(), dispatchBuffers(), Synapse::dropMsgCallback(), Msg::getMsg(), innerFind(), main(), ReadKkit::read(), remoteFieldGetVec(), remoteGet(), remoteGetVec(), ZombieFunction::setSolver(), EndoMesh::setSurround(), test2ArgSetVec(), test_to_py(), testLookupSetGet(), testMsgField(), testSendSpike(), testSetGet(), testSetGetDouble(), testSetGetExtField(), testStrGet(), and ZombiePool::vSetSolver().
Element * ObjId::element | ( | ) | const |
Returns Element part
Definition at line 124 of file ObjId.cpp.
Referenced by Shell::adopt(), SetGet::checkSet(), data(), Shell::doCreate(), Shell::doFind(), Shell::doMove(), eref(), OneToAllMsg::findOtherEnd(), OneToOneDataIndexMsg::findOtherEnd(), OneToOneMsg::findOtherEnd(), SingleMsg::findOtherEnd(), SparseMsg::findOtherEnd(), getCompt(), Shell::innerMove(), isDataHere(), isGlobal(), isOffNode(), isPartOfDend(), GetOpFunc1< T, L, A >::op(), GetEpFunc1< T, L, A >::op(), Neutral::parent(), Neutral::path(), ReadCspace::printMol(), EndoMesh::setSurround(), SetGet::strGet(), SetGet::strSet(), testGet(), testMsgField(), testSendSpike(), testSyncSynapseSize(), and wildcardTestFunc().
Eref ObjId::eref | ( | ) | const |
Returns the Eref matching itself.
Definition at line 66 of file ObjId.cpp.
References dataIndex, element(), and fieldIndex.
Referenced by Shell::adopt(), allChildren(), SetGet::checkSet(), Shell::destroy(), Shell::doCopy(), Shell::doCreate(), Shell::doFind(), Shell::doMove(), TgtInfo::eref(), Field< A >::get(), LookupField< L, A >::get(), Field< A >::getVec(), Shell::innerAddMsg(), Shell::innerMove(), Neutral::isDescendant(), GetOpFunc1< T, L, A >::op(), GetEpFunc1< T, L, A >::op(), path(), Neutral::path(), SetGet0::set(), SetGet1< A >::set(), SetGet2< L, A >::set(), SetGet3< A1, A2, A3 >::set(), SetGet4< A1, A2, A3, A4 >::set(), SetGet5< A1, A2, A3, A4, A5 >::set(), SetGet6< A1, A2, A3, A4, A5, A6 >::set(), Neutral::setName(), SetGet1< A >::setVec(), SetGet2< L, A >::setVec(), singleLevelWildcard(), SetGet::strGet(), SetGet::strSet(), testGetMsg(), testObjIdToAndFromPath(), testSendSpike(), testShellAddMsg(), and testTable().
bool ObjId::isDataHere | ( | ) | const |
True if the data is present on the current node. Always true for globals, which confuses the matter somewhat.
Definition at line 95 of file ObjId.cpp.
References dataIndex, element(), and Shell::myNode().
Referenced by SetGet::checkSet(), Field< A >::get(), and LookupField< L, A >::get().
bool ObjId::isGlobal | ( | ) | const |
Returns true if the Element is global.
Definition at line 100 of file ObjId.cpp.
References element().
Referenced by isOffNode(), SetGet0::set(), SetGet1< A >::set(), SetGet2< L, A >::set(), SetGet3< A1, A2, A3 >::set(), SetGet4< A1, A2, A3, A4 >::set(), SetGet5< A1, A2, A3, A4, A5 >::set(), and SetGet6< A1, A2, A3, A4, A5, A6 >::set().
bool ObjId::isOffNode | ( | ) | const |
Returns true if we need to go off-node for calling operations.
Definition at line 105 of file ObjId.cpp.
References dataIndex, element(), isGlobal(), Shell::myNode(), and Shell::numNodes().
Referenced by SetGet0::set(), SetGet1< A >::set(), SetGet2< L, A >::set(), SetGet3< A1, A2, A3 >::set(), SetGet4< A1, A2, A3, A4 >::set(), SetGet5< A1, A2, A3, A4, A5 >::set(), and SetGet6< A1, A2, A3, A4, A5, A6 >::set().
bool ObjId::operator!= | ( | const ObjId & | other | ) | const |
bool ObjId::operator< | ( | const ObjId & | other | ) | const |
bool ObjId::operator== | ( | const ObjId & | other | ) | const |
For equality check
Definition at line 71 of file ObjId.cpp.
References dataIndex, fieldIndex, and id.
string ObjId::path | ( | ) | const |
Returns the absolute path including all array indices.
Definition at line 119 of file ObjId.cpp.
References eref(), and Neutral::path().
Referenced by doClassSpecificMessaging(), Shell::doCopy(), Shell::doCreate(), Shell::doMove(), Function::getExpr(), Field< A >::getVec(), Function::innerSetExpr(), EndoMesh::setSurround(), testObjIdToAndFromPath(), and testTreeTraversal().
|
friend |
|
friend |
unsigned int ObjId::dataIndex |
Definition at line 99 of file ObjId.h.
Referenced by allChildren(), bad(), SetGet::checkSet(), data(), Shell::doAddMsg(), Shell::doFind(), eref(), OneToAllMsg::findOtherEnd(), OneToOneDataIndexMsg::findOtherEnd(), OneToOneMsg::findOtherEnd(), SingleMsg::findOtherEnd(), DiagonalMsg::findOtherEnd(), SparseMsg::findOtherEnd(), innerCopyElements(), isDataHere(), isOffNode(), operator!=(), operator<(), operator<<(), operator==(), Neutral::path(), singleLevelWildcard(), testObjIdToAndFromPath(), DiagonalMsg::~DiagonalMsg(), OneToAllMsg::~OneToAllMsg(), OneToOneDataIndexMsg::~OneToOneDataIndexMsg(), OneToOneMsg::~OneToOneMsg(), SingleMsg::~SingleMsg(), and SparseMsg::~SparseMsg().
unsigned int ObjId::fieldIndex |
Definition at line 100 of file ObjId.h.
Referenced by bad(), SetGet::checkSet(), data(), Shell::doFind(), eref(), operator!=(), operator<(), operator<<(), operator==(), and testObjIdToAndFromPath().
Id ObjId::id |
Here are the data values.
Definition at line 98 of file ObjId.h.
Referenced by ReadKkit::assignPoolCompartments(), ReadKkit::assignReacCompartments(), ReadKkit::buildChan(), ReadKkit::buildEnz(), ReadKkit::buildGraph(), ReadKkit::buildGroup(), ReadKkit::buildPlot(), ReadKkit::buildPool(), ReadKkit::buildReac(), ReadKkit::buildStim(), ReadKkit::buildTable(), SetGet::checkSet(), HSolve::deleteIncomingMessages(), Shell::destroy(), Shell::doAddMsg(), Dsolve::fillConcChans(), findModelParent(), DiagonalMsg::findOtherEnd(), getCompt(), NeuroMesh::getDendVoxelsOnCompartment(), Neuron::getParentCompartmentOfSpine(), Neuron::getSpinesOnCompartment(), NeuroMesh::getSpineVoxelsOnCompartment(), Id::Id(), Shell::innerAddMsg(), Stoich::installEnzyme(), Stoich::installMMenz(), Stoich::installReaction(), moose_connect(), moose_getField(), moose_ObjId_get_destField_attr(), moose_ObjId_get_elementField_attr(), moose_ObjId_get_lookupField_attr(), operator!=(), operator<(), operator<<(), operator==(), operator>>(), Neutral::parent(), Neutral::path(), test_to_py(), testObjIdToAndFromPath(), and testTreeTraversal().