1 /* -*- mode: C -*- */ 2 /* 3 IGraph library. 4 Copyright (C) 2009-2012 Gabor Csardi <csardi.gabor@gmail.com> 5 334 Harvard street, Cambridge, MA 02139 USA 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 20 02110-1301 USA 21 22 */ 23 24 #ifndef IGRAPH_DQUEUE_H 25 #define IGRAPH_DQUEUE_H 26 27 #include "igraph_types.h" 28 #include "igraph_decls.h" 29 30 __BEGIN_DECLS 31 32 /* -------------------------------------------------- */ 33 /* double ended queue, very useful */ 34 /* -------------------------------------------------- */ 35 36 #define BASE_IGRAPH_REAL 37 #include "igraph_pmt.h" 38 #include "igraph_dqueue_pmt.h" 39 #include "igraph_pmt_off.h" 40 #undef BASE_IGRAPH_REAL 41 42 #define BASE_LONG 43 #include "igraph_pmt.h" 44 #include "igraph_dqueue_pmt.h" 45 #include "igraph_pmt_off.h" 46 #undef BASE_LONG 47 48 #define BASE_CHAR 49 #include "igraph_pmt.h" 50 #include "igraph_dqueue_pmt.h" 51 #include "igraph_pmt_off.h" 52 #undef BASE_CHAR 53 54 #define BASE_BOOL 55 #include "igraph_pmt.h" 56 #include "igraph_dqueue_pmt.h" 57 #include "igraph_pmt_off.h" 58 #undef BASE_BOOL 59 60 #define BASE_INT 61 #include "igraph_pmt.h" 62 #include "igraph_dqueue_pmt.h" 63 #include "igraph_pmt_off.h" 64 #undef BASE_INT 65 66 #define IGRAPH_DQUEUE_NULL { 0,0,0,0 } 67 #define IGRAPH_DQUEUE_INIT_FINALLY(v, size) \ 68 do { IGRAPH_CHECK(igraph_dqueue_init(v, size)); \ 69 IGRAPH_FINALLY(igraph_dqueue_destroy, v); } while (0) 70 71 __END_DECLS 72 73 #endif 74