DDL.h

Go to the documentation of this file.
00001 
00002 // Copyright (C) 2003 Dmitry Bormotov
00003 
00004 // Contents: Definition of class DDL
00005 //
00006 // Principal Authors: Dmitry Bormotov
00007 //
00008 // Status: provisional
00009 //
00010 // Description: Provisional implementation of double linked list
00011 //
00012 // Revision History:
00013 //
00014 
00015 #ifndef DDL_h_
00016 #define DDL_h_
00017 
00018 #include "Word.h"
00019 
00020 
00021 // ------------------------ DDL -------------------------- //
00022 
00023 
00024 struct DDLNode {
00025   
00026   DDLNode( int v ) : value(v), left(0), right(0) { }
00027 
00028   int value;
00029   DDLNode* left;
00030   DDLNode* right;
00031 };
00032 
00033 
00034 struct DDL {
00035 
00037   //                                                   //
00038   //  Constructors                                     //
00039   //                                                   //
00041 
00042   DDL( ) : first(0), last(0), len(0) { }
00043 
00044   DDL( Word w, bool bFreelyReduce = true );
00045 
00046   ~DDL( );
00047 
00048 
00050   //                                                   //
00051   //  Public functions                                 //
00052   //                                                   //
00054 
00055   void append( int v );
00056 
00057   void delend( );
00058 
00059   Word toWord( );
00060 
00061   void delcur( DDLNode* p );
00062   
00063   void insertA( DDLNode* p, int v );
00064 
00065   void insertA( DDLNode* p, Word w );
00066 
00067 
00069   //                                                   //
00070   //  Data Members                                     //
00071   //                                                   //
00073 
00074   DDLNode* first;
00075   DDLNode* last;
00076   int len;
00077 };
00078 
00079 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Mon Sep 26 18:43:45 2011 for CRyptography And Groups (CRAG) by  doxygen 1.6.1