63 std::input_iterator_tag,
64 std::pair<const Task *,std::size_t>,
66 const std::pair<const Task *,std::size_t>*,
67 std::pair<const Task *,std::size_t> >
69 const std::vector< const Task *> *
_v0;
70 const std::vector<std::size_t> *
_v1;
73 explicit PairVecIterator(
const std::vector< const Task * > *v0,
const std::vector<std::size_t> *v1,
const std::size_t num) : _v0(v0),_v1(v1),_num(num) { }
77 reference
operator*()
const {
return std::pair<const Task *,std::size_t>((*_v0)[_num],(*_v1)[_num]); }
82 std::vector<std::size_t> workerIdsAllocated(
getPG()->
allocateFor(nodes.size(),this->getNumberOfCoresPerWorker()));
83 std::vector<std::pair<const Task *,std::size_t>> nodesAndIds(
PairVecIterator(&nodes,&workerIdsAllocated,0),
PairVecIterator(&nodes,&workerIdsAllocated,nodes.size()));
105 return tmpCont->getDiscreminantStrOfThis(askingNode);
173 std::istringstream iss(value);
190 return std::string(
"1");
234 throw Exception(
"SalomeHPContainer::checkCapabilityToDealWith : SalomeContainer is not able to deal with this type of ComponentInstance.");
const std::vector< std::size_t > * _v1
bool operator!=(PairVecIterator other) const
PairVecIterator & operator++()
const std::vector< const Task * > * _v0
bool operator==(PairVecIterator other) const
PairVecIterator(const std::vector< const Task * > *v0, const std::vector< std::size_t > *v1, const std::size_t num)
reference operator*() const
Base class for all component instances.
virtual std::string getKind() const
Return the component kind.
static const char AOC_ENTRY[]
std::mutex & getLocker() const
const PlayGround * getPG() const
static const char SIZE_OF_POOL_KEY[]
static const char INITIALIZE_SCRIPT_KEY[]
virtual void assignPG(const PlayGround *pg)
void release(std::size_t workerId, int nbCoresPerCont) const
std::size_t getNumberOfFreePlace(int nbCoresPerCont) const
bool isAlreadyStarted(const Task *askingNode) const
static SalomeContainerTmpForHP * BuildFrom(const SalomeHPContainer *cont, const Task *askingNode)
void resize(std::size_t sz)
void allocateForCrude(const std::vector< std::pair< const Task *, std::size_t >> &nodes)
const SalomeContainerMonoHelper * getHelperOfTaskThreadSafe(const SalomeHPContainer *cont, const Task *node) const
std::vector< std::string > getKernelContainerNames(const SalomeHPContainer *cont) const
const SalomeContainerMonoHelper * at(std::size_t pos) const
std::size_t release(const Task *node)
const SalomeContainerMonoHelper * getHelperOfTask(const Task *node) const
void checkCapabilityToDealWith(const ComponentInstance *inst) const
bool isAlreadyStarted(const Task *askingNode) const
std::string getPlacementId(const Task *askingNode) const
std::vector< std::string > getKernelContainerNames() const
void setSizeOfPool(int sz)
std::string getKind() const
Container * cloneAlways() const
void allocateFor(const std::vector< const Task * > &nodes)
std::vector< std::string > _componentNames
SalomeContainerTools _sct
std::map< std::string, std::string > getProperties() const
void release(const Task *node) override
int getSizeOfPool() const
void start(const Task *askingNode)
std::map< std::string, std::string > getResourceProperties(const std::string &name) const
void assignPG(const PlayGround *pg) override
void setProperty(const std::string &name, const std::string &value)
std::string getDiscreminantStrOfThis(const Task *askingNode) const
Container * clone() const
SalomeHPContainerVectOfHelper _launchModeType
int getNumberOfCoresPerWorker() const
std::string getFullPlacementId(const Task *askingNode) const
std::size_t getNumberOfFreePlace() const
void addComponentName(const std::string &name)
std::string getProperty(const std::string &name) const