void pop() { if (_T > _F) { _array[_T] = _Ty(); --_T; } else { throw std::underflow_error("Stack is already empty."); } }
template<class _Ty, class T> void LinkedList<_Ty, T>::add(const _Ty& data) { Node* newNode = new Node(); if(this->count == 0x00) { //empty list newNode->prev = nullptr; newNode->next = nullptr; this->head = this->last = newNode; } else { newNode->prev = this->last; this->last->next = newNode; //current last doesn't get lost as the new "last" will have a remaining //reference to the current last. this->last = newNode; } this->last->value = _Ty(data); this->count++; }
inline _Ty log2(_Ty val) { return std::log(val) / _Ty(M_LN2); }
_Ty read(status& ec) { _Ty* p = read_ptr<_Ty>(ec); return p ? *p : _Ty(); }