[gameprogrammer] General Purpose Double Linked List Class
- From: "Torsten Giebl" <wizard@xxxxxxxxxxxxxxx>
- To: gameprogrammer@xxxxxxxxxxxxx
- Date: Sun, 26 Feb 2006 17:38:33 +0100 (CET)
Hello !
I want to use STL to create a
general purpose linked list class,
that can be used in games or other
apps.
As i never used STL before,
is this way to use it correct ?
Thanks.
CU
#include "my_list.h"
List::List ()
{
List_Iterator = List_Itself.begin ();
}
List::~List ()
{
Remove_All ();
}
bool List::Is_Empty ()
{
if ( List_Itself.size () > 0 )
return false;
else
return true;
}
bool List::Add_Front_Element (void *element)
{
List_Itself.push_front (element);
return true;
}
bool List::Add_Back_Element (void *element)
{
List_Itself.push_back (element);
return true;
}
bool List::Add_Element (void *element)
{
Add_Back_Element (element);
return true;
}
bool List::Remove_Actual_Element ()
{
List_Iterator = List_Itself.erase (List_Iterator);
return true;
}
bool List::Remove_Element (void *element)
{
#if 0
List_Itself.remove (element);
return true;
#endif
return false;
}
bool List::Remove_All ()
{
List_Itself.clear ();
return true;
}
bool List::Get_First_Element (void **element)
{
(* element) = List_Itself.front ();
List_Iterator = List_Itself.begin ();
return true;
}
bool List::Get_Last_Element (void **element)
{
(* element) = List_Itself.back ();
List_Iterator = List_Itself.end ();
return true;
}
bool List::Get_Next_Element (void **element)
{
if (List_Iterator == List_Itself.end ())
{
(* element) = NULL;
return false;
}
else
{
List_Iterator ++;
if (List_Iterator == List_Itself.end ())
{
(* element) = NULL;
return false;
}
else
(* element) = *List_Iterator;
}
return true;
}
bool List::Get_Prev_Element (void **element)
{
if (List_Iterator == List_Itself.begin ())
{
(* element) = NULL;
return false;
}
else
{
List_Iterator --;
(* element) = *List_Iterator;
}
return true;
}
bool List::Get_Actual_Element (void **element)
{
(* element) = *List_Iterator;
return true;
}
#ifndef _MY_LIST_H
#define _MY_LIST_H
#include <stdio.h>
#include <list.h>
class List
{
public:
List ();
~List ();
bool Is_Empty ();
bool Add_Front_Element (void *element);
bool Add_Back_Element (void *element);
bool Add_Element (void *element);
bool Remove_Actual_Element ();
bool Remove_Element (void *element);
bool Remove_All ();
bool Get_First_Element (void **element);
bool Get_Last_Element (void **element);
bool Get_Next_Element (void **element);
bool Get_Prev_Element (void **element);
bool Get_Actual_Element (void **element);
private:
list <void *> List_Itself;
list <void *>::iterator List_Iterator;
};
#endif
- Follow-Ups:
- [gameprogrammer] Re: General Purpose Double Linked List Class
- From: Tom Wilson
Other related posts:
- » [gameprogrammer] General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- » [gameprogrammer] Re: General Purpose Double Linked List Class
- [gameprogrammer] Re: General Purpose Double Linked List Class
- From: Tom Wilson