21 if (prevElement) prevElement->
AddNext(
this);
22 if (nextElement)
AddNext(nextElement);
33 if (!nextElement || (nextElement ==
this))
return false;
46 if (nextElement && (
next == nextElement)) {
50 mf::LogError(
"pma::SortedObjectBase") <<
"Object structure is broken.";
64 while (next_vector.size())
76 if (nextElement ==
this) {
82 for (
size_t i = 0; i < next_vector.size(); i++) {
83 if (next_vector[i] == nextElement) {
90 if (nextElement->
prev)
95 next_vector.push_back(
next);
104 if (!nextElement || (nextElement ==
this))
return -1;
107 for (
unsigned int i = 0; i < next_vector.size(); i++) {
108 if (next_vector[i] == nextElement) {
114 if (next_vector[index]->
prev !=
this) {
115 mf::LogError(
"pma::SortedBranchBase") <<
"Object structure is broken.";
118 next_vector[index]->prev = 0;
119 next_vector.erase(next_vector.begin() + index);
121 if (next_vector.size() > 0)
122 next = next_vector.back();
virtual bool AddNext(pma::SortedObjectBase *nextElement)
virtual int RemoveNext(pma::SortedObjectBase *nextElement)
pma::SortedObjectBase * prev
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
Implementation of the Projection Matching Algorithm.
virtual int RemoveNext(pma::SortedObjectBase *nextElement)
virtual void Disconnect(void)
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
pma::SortedObjectBase * next
virtual void Disconnect(void)
virtual bool AddNext(pma::SortedObjectBase *nextElement)
constexpr ProductStatus present() noexcept