1 /* @include enstable ********************************************************** 2 ** 3 ** Ensembl Table functions 4 ** 5 ** @author Copyright (C) 1999 Ensembl Developers 6 ** @author Copyright (C) 2006 Michael K. Schuster 7 ** @version $Revision: 1.17 $ 8 ** @modified 2009 by Alan Bleasby for incorporation into EMBOSS core 9 ** @modified $Date: 2013/02/17 13:09:10 $ by $Author: mks $ 10 ** @@ 11 ** 12 ** This library is free software; you can redistribute it and/or 13 ** modify it under the terms of the GNU Lesser General Public 14 ** License as published by the Free Software Foundation; either 15 ** version 2.1 of the License, or (at your option) any later version. 16 ** 17 ** This library is distributed in the hope that it will be useful, 18 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 19 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 ** Lesser General Public License for more details. 21 ** 22 ** You should have received a copy of the GNU Lesser General Public 23 ** License along with this library; if not, write to the Free Software 24 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 25 ** MA 02110-1301, USA. 26 ** 27 ******************************************************************************/ 28 29 #ifndef ENSTABLE_H 30 #define ENSTABLE_H 31 32 /* ========================================================================= */ 33 /* ============================= include files ============================= */ 34 /* ========================================================================= */ 35 36 #include "ajax.h" 37 38 AJ_BEGIN_DECLS 39 40 41 42 43 /* ========================================================================= */ 44 /* =============================== constants =============================== */ 45 /* ========================================================================= */ 46 47 48 49 50 /* ========================================================================= */ 51 /* ============================== public data ============================== */ 52 /* ========================================================================= */ 53 54 55 56 57 /* ========================================================================= */ 58 /* =========================== public functions ============================ */ 59 /* ========================================================================= */ 60 61 /* 62 ** Prototype definitions 63 */ 64 65 /* 66 ** AJAX Table of AJAX String key data and 67 ** generic value data. 68 */ 69 70 AjBool ensTablestrFromList( 71 AjPTable table, 72 AjPStr (*FobjectGetKey) (const void *object), 73 AjPList list); 74 75 AjBool ensTablestrToList(AjPTable table, AjPList list); 76 77 /* 78 ** AJAX Table of AJAX unsigned integer key data and 79 ** generic value data. 80 */ 81 82 AjBool ensTableuintFromList( 83 AjPTable table, 84 ajuint (*FobjectGetIdentifier) (const void *object), 85 AjPList list); 86 87 AjBool ensTableuintToList(AjPTable table, AjPList list); 88 89 /* 90 ** AJAX Table of 91 ** AJAX unsigned integer key data and 92 ** AJAX String-List value data. 93 */ 94 95 AjPTable ensTableuintliststrNewLen(ajuint size); 96 97 void ensTableuintliststrClear(AjPTable table); 98 99 void ensTableuintliststrDelete(AjPTable *Ptable); 100 101 AjBool ensTableuintliststrRegister(AjPTable table, 102 ajuint identifier, 103 AjPStr str); 104 105 /* 106 ** End of prototype definitions 107 */ 108 109 110 111 112 AJ_END_DECLS 113 114 #endif /* !ENSTABLE_H */ 115