Skip to content

Commit 3b38637

Browse files
authored
Use more STL for vector insertion/removal. (#1284)
1 parent 7b887ee commit 3b38637

4 files changed

Lines changed: 31 additions & 18 deletions

File tree

core/MenuStyle_Base.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,7 @@ bool CBaseMenu::InsertItem(unsigned int position, const char *info, const ItemDr
661661
item.display = std::make_unique<std::string>(draw.display);
662662
item.style = draw.style;
663663

664-
ke::InsertAt(&m_items, position, std::move(item));
664+
m_items.emplace(m_items.begin() + position, std::move(item));
665665
return true;
666666
}
667667

@@ -670,7 +670,7 @@ bool CBaseMenu::RemoveItem(unsigned int position)
670670
if (position >= m_items.size())
671671
return false;
672672

673-
ke::RemoveAt(&m_items, position);
673+
m_items.erase(m_items.begin() + position);
674674
return true;
675675
}
676676

core/logic/CDataPack.cpp

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ static std::vector<std::unique_ptr<CDataPack>> sDataPackCache;
5151
CDataPack *CDataPack::New()
5252
{
5353
if (sDataPackCache.empty())
54-
return new CDataPack();
54+
return new CDataPack();
5555

5656
CDataPack *pack = sDataPackCache.back().release();
5757
sDataPackCache.pop_back();
@@ -87,7 +87,7 @@ size_t CDataPack::CreateMemory(size_t size, void **addr)
8787
val.type = CDataPackType::Raw;
8888
val.pData.vval = new uint8_t[size + sizeof(size)];
8989
reinterpret_cast<size_t *>(val.pData.vval)[0] = size;
90-
ke::InsertAt(&elements, position, val);
90+
elements.emplace(elements.begin() + position, val);
9191

9292
return position++;
9393
}
@@ -97,23 +97,26 @@ void CDataPack::PackCell(cell_t cell)
9797
InternalPack val;
9898
val.type = CDataPackType::Cell;
9999
val.pData.cval = cell;
100-
ke::InsertAt(&elements, position++, val);
100+
elements.emplace(elements.begin() + position, val);
101+
position++;
101102
}
102103

103104
void CDataPack::PackFunction(cell_t function)
104105
{
105106
InternalPack val;
106107
val.type = CDataPackType::Function;
107108
val.pData.cval = function;
108-
ke::InsertAt(&elements, position++, val);
109+
elements.emplace(elements.begin() + position, val);
110+
position++;
109111
}
110112

111113
void CDataPack::PackFloat(float floatval)
112114
{
113115
InternalPack val;
114116
val.type = CDataPackType::Float;
115117
val.pData.fval = floatval;
116-
ke::InsertAt(&elements, position++, val);
118+
elements.emplace(elements.begin() + position, val);
119+
position++;
117120
}
118121

119122
void CDataPack::PackString(const char *string)
@@ -122,7 +125,8 @@ void CDataPack::PackString(const char *string)
122125
val.type = CDataPackType::String;
123126
std::string *sval = new std::string(string);
124127
val.pData.sval = sval;
125-
ke::InsertAt(&elements, position++, val);
128+
elements.emplace(elements.begin() + position, val);
129+
position++;
126130
}
127131

128132
void CDataPack::PackCellArray(cell_t const *vals, cell_t count)
@@ -133,7 +137,8 @@ void CDataPack::PackCellArray(cell_t const *vals, cell_t count)
133137
val.pData.aval = new cell_t [count + 1];
134138
memcpy(&val.pData.aval[1], vals, sizeof(cell_t) * (count + 1));
135139
val.pData.aval[0] = count;
136-
ke::InsertAt(&elements, position++, val);
140+
elements.emplace(elements.begin() + position, val);
141+
position++;
137142
}
138143

139144
void CDataPack::PackFloatArray(cell_t const *vals, cell_t count)
@@ -144,7 +149,8 @@ void CDataPack::PackFloatArray(cell_t const *vals, cell_t count)
144149
val.pData.aval = new cell_t [count + 1];
145150
memcpy(&val.pData.aval[1], vals, sizeof(cell_t) * (count + 1));
146151
val.pData.aval[0] = count;
147-
ke::InsertAt(&elements, position++, val);
152+
elements.emplace(elements.begin() + position, val);
153+
position++;
148154
}
149155

150156
void CDataPack::Reset() const
@@ -312,6 +318,6 @@ bool CDataPack::RemoveItem(size_t pos)
312318
}
313319
}
314320

315-
ke::RemoveAt(&elements, pos);
321+
elements.erase(elements.begin() + pos);
316322
return true;
317323
}

extensions/clientprefs/extension.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,8 @@ void ClientPrefs::ClearQueryCache(int serial)
379379
if (op && op->PullQueryType() == Query_SelectData && op->PullQuerySerial() == serial)
380380
{
381381
op->Destroy();
382-
ke::RemoveAt(&cachedQueries, iter--);
382+
cachedQueries.erase(cachedQueries.begin() + iter);
383+
iter--;
383384
}
384385
}
385386
}

extensions/sdkhooks/extension.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -771,13 +771,15 @@ void SDKHooks::Unhook(CBaseEntity *pEntity)
771771
continue;
772772
}
773773

774-
ke::RemoveAt(&pawnhooks, entry--);
774+
pawnhooks.erase(pawnhooks.begin() + entry);
775+
entry--;
775776
}
776777

777778
if (pawnhooks.size() == 0)
778779
{
779780
delete vtablehooklist[listentry];
780-
ke::RemoveAt(&vtablehooklist, listentry--);
781+
vtablehooklist.erase(vtablehooklist.begin() + listentry);
782+
listentry--;
781783
}
782784
}
783785
}
@@ -798,13 +800,15 @@ void SDKHooks::Unhook(IPluginContext *pContext)
798800
continue;
799801
}
800802

801-
ke::RemoveAt(&pawnhooks, entry--);
803+
pawnhooks.erase(pawnhooks.begin() + entry);
804+
entry--;
802805
}
803806

804807
if (pawnhooks.size() == 0)
805808
{
806809
delete vtablehooklist[listentry];
807-
ke::RemoveAt(&vtablehooklist, listentry--);
810+
vtablehooklist.erase(vtablehooklist.begin() + listentry);
811+
listentry--;
808812
}
809813
}
810814
}
@@ -838,13 +842,15 @@ void SDKHooks::Unhook(int entity, SDKHookType type, IPluginFunction *pCallback)
838842
continue;
839843
}
840844

841-
ke::RemoveAt(&pawnhooks, entry--);
845+
pawnhooks.erase(pawnhooks.begin() + entry);
846+
entry--;
842847
}
843848

844849
if (pawnhooks.size() == 0)
845850
{
846851
delete vtablehooklist[listentry];
847-
ke::RemoveAt(&vtablehooklist, listentry);
852+
vtablehooklist.erase(vtablehooklist.begin() + listentry);
853+
listentry--;
848854
}
849855

850856
break;

0 commit comments

Comments
 (0)