40 #ifndef __OPENFLUID_FLUIDX_WARESETDESCRIPTOR_HPP__ 41 #define __OPENFLUID_FLUIDX_WARESETDESCRIPTOR_HPP__ 47 #include <openfluid/ware/TypeDefs.hpp> 90 inline SetDescription_t&
items()
92 return m_SetDescription;
100 inline const SetDescription_t&
items()
const 102 return m_SetDescription;
113 m_Params[Key] = Value;
123 openfluid::ware::WareParams_t::const_iterator it;
125 for (it=Params.begin();it!=Params.end();++it)
127 m_Params[it->first] = it->second;
158 m_SetDescription.push_back(Item);
184 m_SetDescription = Items;
201 if (Index < m_SetDescription.size())
203 typename SetDescription_t::const_iterator it = m_SetDescription.begin();
204 std::advance(it, Index);
229 m_SetDescription.insert(m_SetDescription.begin(), Item);
231 else if (Index < m_SetDescription.size())
233 typename SetDescription_t::iterator it = m_SetDescription.begin();
234 std::advance(it, Index);
236 m_SetDescription.insert(it, Item);
256 if (Index < m_SetDescription.size())
258 typename SetDescription_t::iterator it = m_SetDescription.begin();
259 std::advance(it, Index);
261 m_SetDescription.erase(it);
280 void moveItem(
unsigned int indexFrom,
unsigned int indexTo)
282 if (indexFrom == indexTo)
287 unsigned int Last = m_SetDescription.size() - 1;
289 if (indexFrom > Last || indexTo > Last)
292 typename SetDescription_t::const_iterator itFrom = m_SetDescription.begin();
293 std::advance(itFrom, indexFrom);
297 removeItem(indexFrom);
305 insertItem(Item, indexTo);
321 for (
typename SetDescription_t::const_iterator it = m_SetDescription.begin(); it != m_SetDescription.end(); ++it)
323 if (getID(*it) == ID)
325 return std::distance(m_SetDescription.begin(), it);
344 typename std::list<T*>::iterator it = std::find(m_SetDescription.begin(), m_SetDescription.end(), Item);
346 if (it != m_SetDescription.end())
348 return std::distance(m_SetDescription.begin(), it);
365 std::vector<std::string> IDs;
367 for (
typename SetDescription_t::const_iterator it = m_SetDescription.begin(); it != m_SetDescription.end(); ++it)
369 IDs.push_back(getID(*it));
386 return m_SetDescription.size();
Definition: WareSetDescriptor.hpp:54
Definition: StringValue.hpp:88
std::list< T * > SetDescription_t
Definition: WareSetDescriptor.hpp:58
openfluid::ware::WareParams_t m_Params
Definition: WareSetDescriptor.hpp:65
openfluid::ware::WareParams_t getGlobalParameters() const
Definition: WareSetDescriptor.hpp:136
void moveItem(unsigned int indexFrom, unsigned int indexTo)
Definition: WareSetDescriptor.hpp:280
int findFirstItem(const openfluid::ware::WareID_t &ID) const
Definition: WareSetDescriptor.hpp:319
void insertItem(T *Item, unsigned int Index)
Definition: WareSetDescriptor.hpp:225
T & itemAt(unsigned int Index) const
Definition: WareSetDescriptor.hpp:198
int findFirstItem(const T *Item) const
Definition: WareSetDescriptor.hpp:342
std::string WareID_t
Definition: TypeDefs.hpp:49
const SetDescription_t & items() const
Definition: WareSetDescriptor.hpp:100
void setGlobalParameters(const openfluid::ware::WareParams_t &Params)
Definition: WareSetDescriptor.hpp:121
int getItemsCount()
Definition: WareSetDescriptor.hpp:384
SetDescription_t m_SetDescription
Definition: WareSetDescriptor.hpp:63
Definition: FrameworkException.hpp:50
Definition: ApplicationException.hpp:47
void setItems(const SetDescription_t &Items)
Definition: WareSetDescriptor.hpp:182
SetDescription_t & items()
Definition: WareSetDescriptor.hpp:90
std::string WareParamKey_t
Definition: TypeDefs.hpp:124
void removeItem(unsigned int Index)
Definition: WareSetDescriptor.hpp:254
#define OPENFLUID_API
Definition: dllexport.hpp:86
void setGlobalParameter(const openfluid::ware::WareParamKey_t &Key, const openfluid::ware::WareParamValue_t &Value)
Definition: WareSetDescriptor.hpp:110
void eraseGlobalParameter(const openfluid::ware::WareParamKey_t &Key)
Definition: WareSetDescriptor.hpp:146
std::vector< openfluid::ware::WareID_t > getOrderedIDs() const
Definition: WareSetDescriptor.hpp:363
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:128
void appendItem(T *Item)
Definition: WareSetDescriptor.hpp:156