Fork of Smoothie to port to mbed non-LPC targets.

Dependencies:   mbed

Fork of Smoothie by Stéphane Cachat

Revision:
3:f151d08d335c
Parent:
2:1df0b61d3b5a
--- a/libs/Network/uip/fifo.h	Fri Feb 28 18:52:52 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*************************************************************************
- *
- * $Author: Jim Morris $
- * $Date: 1999/02/05 21:05:00 $
- *
- * this code is Licensed LGPL
- *
- *************************************************************************/
-#ifndef _FIFO_H_
-#define _FIFO_H_
-
-#include <stdlib.h>
-
-// Doubly Linked list class
-
-template<class T> class LList;
-
-template<class T>
-class Tlink
-{
-public:
-    Tlink<T> *pnext;
-    Tlink<T> *pprev;
-
-public:
-    Tlink()
-    {
-        pnext = pprev = 0;
-    }
-    Tlink(Tlink *p, Tlink *n)
-    {
-        pprev = p;
-        pnext = n;
-    }
-    Tlink(const T &d) : data(d)
-    {
-        pnext = pprev = 0;
-    }
-    T data;
-};
-
-template<class T>
-class list_base
-{
-private:
-    Tlink<T> *head;
-    Tlink<T> *tail;
-    int cnt;
-
-protected:
-    list_base()
-    {
-        head = tail = NULL;
-        cnt = 0;
-    }
-
-    list_base(Tlink<T> *n) // link into head of list
-    {
-        cnt = 1;
-        n->pnext = NULL;
-        n->pprev = NULL;
-        head = n;
-        tail = n;
-    }
-
-    Tlink<T> *gethead(void) const
-    {
-        return head;
-    }
-    Tlink<T> *gettail(void) const
-    {
-        return tail;
-    }
-    Tlink<T> *getnext(Tlink<T> *n) const
-    {
-        return n->pnext;
-    }
-    Tlink<T> *getprev(Tlink<T> *n) const
-    {
-        return n->pprev;
-    }
-
-    void addtohead(Tlink<T> *n) // add at head of list
-    {
-        n->pnext = head;
-        n->pprev = NULL;
-        if (head) head->pprev = n;
-        head = n;
-        if (tail == NULL) // first one
-            tail = n;
-        cnt++;
-    }
-
-    void addtohead(int c, Tlink<T> *a, Tlink<T> *b) // add list at head of list
-    {
-        b->pnext = head;
-        a->pprev = NULL;
-        if (head) head->pprev = b;
-        head = a;
-        if (tail == NULL) // first one
-            tail = b;
-        cnt += c;
-    }
-
-    void addtotail(Tlink<T> *n)  // add to tail of list
-    {
-        n->pnext = NULL;
-        n->pprev = tail;
-        if (tail) tail->pnext = n;
-        tail = n;
-        if (head == NULL) // first one
-            head = n;
-        cnt++;
-    }
-
-    void remove(Tlink<T> *n) // remove it by relinking
-    {
-        cnt--;
-        if (n->pprev) n->pprev->pnext = n->pnext;
-        else head = n->pnext; // it must be the head
-        if (n->pnext) n->pnext->pprev = n->pprev;
-        else tail = n->pprev;
-    }
-
-    void reset()
-    {
-        head = tail = NULL;
-        cnt = 0;
-    }
-    int count() const
-    {
-        return cnt;
-    }
-};
-
-// fifo
-template<class T>
-class Fifo : private list_base<T>
-{
-public:
-    Fifo(){}
-
-    void push(const T &a);
-    T pop();
-    T peek();
-    int size() const;
-};
-
-template <class T>
-int Fifo<T>::size() const
-{
-    return list_base<T>::count();
-}
-
-// add to end of list (FIFO)
-template <class T>
-void Fifo<T>::push(const T &a)
-{
-    list_base<T>::addtotail(new Tlink<T>(a));
-}
-
-// return the first item in the list
-template <class T>
-T Fifo<T>::peek()
-{
-    Tlink<T> *p = list_base<T>::gethead();
-    return p->data;
-}
-
-// pop the first item off the fifo
-template <class T>
-T Fifo<T>::pop()
-{
-    Tlink<T> *p = list_base<T>::gethead();
-    T data = p->data;
-    list_base<T>::remove(p);
-    delete p;
-    return data;
-};
-#endif