37 T* at(
unsigned int pos);
41 void swap(
unsigned int i,
unsigned int j)
override;
77 return reinterpret_cast<T*
>(
wp);
103 const unsigned int n = num();
105 for (
unsigned int i=0;
i<
n;
i++)
124 at(
i)->setHeapPosition(
i);
125 at(
j)->setHeapPosition(
j);
133 if (
wp ==
nullptr) {
return (num()-1); }
134 if (
wp->getHeapPosition() != -1) {
return (num()-1); }
137 last()->setHeapPosition(num()-1);
149 wp->setHeapPosition(pos);
158 if (
wp ==
nullptr) {
return -1; }
159 const int i =
wp->getHeapPosition();
161 if (
i >=
n) {
return -1; }
162 if (
i <= -1) {
return -1; }
168 at(
n - 1)->setHeapPosition(-1);
Container with the ability to detect double inserts.
WEMContainer(WEMContainer &&) noexcept=default
This is the base class for the WEM elements nodes, edges, and faces.
Dynamic templated vector.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.