40 #ifndef __OPENFLUID_FLUIDX_WARESETDESCRIPTOR_HPP__
41 #define __OPENFLUID_FLUIDX_WARESETDESCRIPTOR_HPP__
47 #include <openfluid/ware/TypeDefs.hpp>
92 return m_SetDescription;
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)
294 typename SetDescription_t::const_iterator itFrom = m_SetDescription.begin();
295 std::advance(itFrom, indexFrom);
299 removeItem(indexFrom);
307 insertItem(Item, indexTo);
323 for (
typename SetDescription_t::const_iterator it = m_SetDescription.begin(); it != m_SetDescription.end(); ++it)
325 if (getID(*it) == ID)
327 return std::distance(m_SetDescription.begin(), it);
346 typename std::list<T*>::iterator it = std::find(m_SetDescription.begin(), m_SetDescription.end(), Item);
348 if (it != m_SetDescription.end())
350 return std::distance(m_SetDescription.begin(), it);
367 std::vector<std::string> IDs;
369 for (
typename SetDescription_t::const_iterator it = m_SetDescription.begin(); it != m_SetDescription.end(); ++it)
371 IDs.push_back(getID(*it));
388 return m_SetDescription.size();
Definition: FrameworkException.hpp:51
Definition: StringValue.hpp:83
Definition: WareSetDescriptor.hpp:55
void insertItem(T *Item, unsigned int Index)
Definition: WareSetDescriptor.hpp:225
int findFirstItem(const openfluid::ware::WareID_t &ID) const
Definition: WareSetDescriptor.hpp:321
T & itemAt(unsigned int Index) const
Definition: WareSetDescriptor.hpp:198
std::vector< openfluid::ware::WareID_t > getOrderedIDs() const
Definition: WareSetDescriptor.hpp:365
int getItemsCount()
Definition: WareSetDescriptor.hpp:386
void removeItem(unsigned int Index)
Definition: WareSetDescriptor.hpp:254
void setGlobalParameters(const openfluid::ware::WareParams_t &Params)
Definition: WareSetDescriptor.hpp:121
virtual openfluid::ware::WareID_t getID(const T *Item) const =0
openfluid::ware::WareParams_t m_Params
Definition: WareSetDescriptor.hpp:65
std::list< T * > SetDescription_t
Definition: WareSetDescriptor.hpp:58
openfluid::ware::WareParams_t getGlobalParameters() const
Definition: WareSetDescriptor.hpp:136
const SetDescription_t & items() const
Definition: WareSetDescriptor.hpp:100
void eraseGlobalParameter(const openfluid::ware::WareParamKey_t &Key)
Definition: WareSetDescriptor.hpp:146
void moveItem(unsigned int indexFrom, unsigned int indexTo)
Definition: WareSetDescriptor.hpp:280
void setItems(const SetDescription_t &Items)
Definition: WareSetDescriptor.hpp:182
void setGlobalParameter(const openfluid::ware::WareParamKey_t &Key, const openfluid::ware::WareParamValue_t &Value)
Definition: WareSetDescriptor.hpp:110
void appendItem(T *Item)
Definition: WareSetDescriptor.hpp:156
SetDescription_t m_SetDescription
Definition: WareSetDescriptor.hpp:63
int findFirstItem(const T *Item) const
Definition: WareSetDescriptor.hpp:344
SetDescription_t & items()
Definition: WareSetDescriptor.hpp:90
#define OPENFLUID_API
Definition: dllexport.hpp:86
std::string WareID_t
Definition: TypeDefs.hpp:49
std::string WareParamKey_t
Definition: TypeDefs.hpp:142
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:146
Definition: ApplicationException.hpp:47