86#ifdef ASSOCIATIONMAP_CONTEXT
104 , m_actual(theStore.begin())
113 const typename store_type::const_iterator& pos)
121 m_store ( rhs.m_store ),
122 m_actual( rhs.m_actual )
129 if (
this != &rhs ) {
130 m_store = rhs.m_store;
131 m_actual= rhs.m_actual;
161{ ++m_actual;
return *
this; }
165{ --m_actual;
return *
this; }
197{
return m_actual == anOther.m_actual; }
205{
return m_actual != anOther.m_actual; }
224{
return this->getObject(); }
228{
return this->getObject(); }
231const object_type* first()
const {
return *(m_actual->first); }
233asso_iterator second()
const
234{
return asso_iterator(m_actual->second,m_actual->second.begin()); }
248 while (firstObj != lastObj )
250 if ( firstObj.isValid() && firstObj.getObject() == objectPointer )
268const object_type* getObject()
const {
return this->first(); }
271const object_link& getObjectLink()
const {
return m_actual->first; }
273bool isValid()
const {
return this->m_actual->first.isValid(); }
276asso_iterator getFirstAssociation()
const
278 return asso_iterator(m_actual->second, m_actual->second.begin());
282asso_iterator getLastAssociation()
const
284 return asso_iterator(m_actual->second, m_actual->second.end());
288asso_iterator findAssociation(
const asso_type* assoPointer)
const
290 asso_iterator assItr = asso_iterator(m_actual->second,
291 m_actual->second.begin());
292 return assItr.find(assoPointer);
296bool containsAssociation(
const asso_type* assoPointer)
const
297{
return this->findAssociation(assoPointer) != this->getLastAssociation(); }
300size_t getNumberOfAssociations()
const
301{
return m_actual->second.size(); }
303size_t size()
const {
return m_store->size(); }
307 const store_type* m_store{};
308 typename store_type::const_iterator m_actual{};
ElementConstReference operator*() const
Return a reference to the referenced element.
ElementLink & operator=(const ElementLink &)=default
bool isValid() const
Test to see if the link can be dereferenced.
ElementConstPointer operator->() const
Return a pointer to the referenced element.
bool operator!=(const DataVector< T > &a, const DataVector< T > &b)
Based on operator==.
bool operator==(const DataVector< T > &a, const DataVector< T > &b)
Vector equality comparison.
size_t size() const
Number of registered mappings.
object iterator for association maps (internal use only!)
std::string find(const std::string &s)
return a remapped string