versadac
1
versadac - Scalable Recorder Firmware
Main Page
Classes
Files
File List
File Members
core
utils
listn.h
1
/* $Id: listn.h 4938 2006-10-10 14:20:18Z martinto $ */
2
/*
3
*
4
* Revision 2.1 1997/07/10 16:24:13 davec
5
* DEV1196:DCN001 moved source to CVS
6
*
7
*
8
* Rev 1.1.1.2 22 Jul 1996 13:58:10 DAVEH
9
* DEV1156:DCN098- remove the word hacked
10
*
11
* Rev 1.1.1.1 03 Jul 1996 14:22:40 DAVEH
12
* DEV1156:DCN076-Memory saving exercise
13
*
14
* Rev 1.1.1.0 24 Jan 1996 15:07:48 PAULT
15
* Branched
16
*
17
* Rev 1.1 24 Jan 1996 12:16:52 PAULT
18
* Consolidated 4100 code merged to trunk
19
*
20
* Rev 1.0.2.0 01 Jun 1995 14:25:36 DAVEH
21
* Branched
22
*
23
* Rev 1.0 12 Apr 1995 17:20:34 COLINL
24
* Initial revision.
25
*/
26
/*****************************************************************************
27
FILE : L I S T N . H
28
VERSION : %I%
29
AUTHOR : Colin Law
30
SYSTEM : Turbo C++
31
DESCRIPTION : Header file for ListNode class used by lists base class
32
33
34
NOTE: Only for inclusion by lists files.
35
36
*****************************************************************************/
37
38
#if !defined(__LISTN_H)
39
40
#define __LISTN_H
41
42
#if !defined __LISTS_H
43
#include "lists.h"
44
#endif
45
46
#if defined ISE_PNL_MEMORY
47
#include "pnl_mem.pc"
48
#endif
49
50
/* ##########################################################################
51
CLASS : L I S T N O D E
52
DESCRIPTION : This class provides the node objects which are linked together
53
to make up the list. Each node contains links to the next
54
and previous nodes, and a pointer to the data item itself.
55
This class is only required for the List base class and so
56
does not appear in a header.
57
########################################################################### */
58
59
class
ListNode
60
#if defined ISE_PNL_MEMORY
61
:
public
CpnlMem
62
#endif
63
{
64
friend
class
List
;
65
friend
class
ListWalker
;
66
67
private
:
68
// Constructor for listnode given pointer to thing to be connected to it.
69
ListNode
(
void
*data);
70
71
#if defined LISTS_USER_MALLOC
72
/*---------------------------------------------------------------------------
73
FUNCTION : makeNode
74
DESCRIPTION : static service to make a node from a malloced area of memory
75
ARGUMENTS : pMemory pointer to memory area
76
data pointer to item to be attached to node
77
RETURN : None
78
NOTES :
79
---------------------------------------------------------------------------*/
80
static
ListNode
* makeNode(
void
* pMemory,
void
* data );
81
#endif
82
// No ListNode destructor is provided. It is the responsibility of
83
// the list using it to handle deletion of attached item when a node
84
// is deleted.
85
86
// method to unlink the node from the list, joining up links round it.
87
void
unlink(
List
& lst );
88
89
90
ListNode
*next;
// pointer to next node in list. NULL if this is last.
91
ListNode
*prev;
// pointer to previous node. NULL if this is first one.
92
void
*item;
// pointer to item on this node;
93
94
// Copy constructor and assignment operator declared private
95
// and not defined to prevent compiler from generating bitwise
96
// copiers.
97
ListNode
(
const
ListNode
& );
98
ListNode
& operator=(
const
ListNode
& );
99
100
};
// class ListNode
101
102
103
104
105
#endif
ListNode
Definition:
listn.h:59
ListWalker
Definition:
lists.h:307
List
Definition:
lists.h:91
Generated on Wed Aug 19 2020 10:33:45 for versadac by
1.8.9.1