void slist_base_node::unlink(slist_base_node* prevNode) { RDE_ASSERT(in_list()); RDE_ASSERT(prevNode->next == this); prevNode->next = next; next = this; }
void list_base_node::unlink() { RDE_ASSERT(in_list()); prev->next = next; next->prev = prev; next = prev = this; }
void intrusive_list_base::unlink(intrusive_list_node* node) { RDE_ASSERT(node->in_list()); node->prev->next = node->next; node->next->prev = node->prev; node->next = node->prev = node; }
void list_base_node::link_before(list_base_node* nextNode) { RDE_ASSERT(!in_list()); prev = nextNode->prev; prev->next = this; nextNode->prev = this; next = nextNode; }
void intrusive_list_base::link(intrusive_list_node* node, intrusive_list_node* nextNode) { RDE_ASSERT(!node->in_list()); node->prev = nextNode->prev; node->prev->next = node; nextNode->prev = node; node->next = nextNode; }
void StreamWriter::WriteASCIIZ(const char* str) { const long len = (long)strlen(str); RDE_ASSERT(len < 32768 && "String too long, cannot write to stream"); WriteInt16(rde::uint16_t(len)); if (len > 0) { Write(str, len); } }
const TypeEnum::Constant& TypeEnum::GetConstant(int index) const { RDE_ASSERT(index >= 0 && index < GetNumConstants()); return m_constants[index]; }
void TypeEnum::AddConstant(const Constant& constant) { RDE_ASSERT(FindConstant(constant.m_name) == 0 && "Enumerator with given name already exists"); m_constants.push_back(constant); }
void slist_base_node::link_after(slist_base_node* prevNode) { RDE_ASSERT(!in_list()); next = prevNode->next; prevNode->next = this; }