mrDarker
2025-06-09 2fb87c832d5ff07008308da1bab9b846b60ba7d3
SourceCode/Bond/Servo/CAttributeVector.cpp
@@ -1,5 +1,6 @@
#include "stdafx.h"
#include "CAttributeVector.h"
#include <algorithm>
namespace SERVO {
@@ -16,14 +17,33 @@
      m_attributes.clear();
   }
   void CAttributeVector::addAttribute(CAttribute* pAttribute)
   void CAttributeVector::addAttribute(CAttribute* pAttribute, BOOL bReplace/* = FALSE*/)
   {
      if (bReplace) {
         for (auto it = m_attributes.begin(); it != m_attributes.end(); ) {
            if ((*it)->getName().compare(pAttribute->getName()) == 0) {
               delete (*it);
               it = m_attributes.erase(it);
            }
            else {
               ++it;
            }
         }
      }
      m_attributes.push_back(pAttribute);
   }
   void CAttributeVector::addAttributeVector(CAttributeVector& av)
   {
      for (auto item : av.m_attributes) {
         m_attributes.push_back(item);
      }
   }
   unsigned int CAttributeVector::size()
   {
      return m_attributes.size();
      return (unsigned int)m_attributes.size();
   }
   void CAttributeVector::clear()
@@ -34,6 +54,13 @@
      m_attributes.clear();
   }
   void CAttributeVector::sortWithWeight()
   {
      std::sort(m_attributes.begin(), m_attributes.end(), [](CAttribute* pAttribute1, CAttribute* pAttribut2) {
         return pAttribute1->getWeight() < pAttribut2->getWeight();
      });
   }
   bool CAttributeVector::empty()
   {
      return m_attributes.empty();