MoDeNa  1.0
Software framework facilitating sequential multi-scale modelling
indexset.h
Go to the documentation of this file.
1 /*
2 @cond
3 
4  ooo ooooo oooooooooo. ooooo ooo
5  `88. .888' `888' `Y8b `888b. `8'
6  888b d'888 .ooooo. 888 888 .ooooo. 8 `88b. 8 .oooo.
7  8 Y88. .P 888 d88' `88b 888 888 d88' `88b 8 `88b. 8 `P )88b
8  8 `888' 888 888 888 888 888 888ooo888 8 `88b.8 .oP"888
9  8 Y 888 888 888 888 d88' 888 .o 8 `888 d8( 888
10  o8o o888o `Y8bod8P' o888bood8P' `Y8bod8P' o8o `8 `Y888""8o
11 
12 Copyright
13  2014-2016 MoDeNa Consortium, All rights reserved.
14 
15 License
16  This file is part of Modena.
17 
18  The Modena interface library is free software; you can redistribute it
19  and/or modify it under the terms of the GNU Lesser General Public License
20  as published by the Free Software Foundation, either version 3 of the
21  License, or (at your option) any later version.
22 
23  Modena is distributed in the hope that it will be useful, but WITHOUT ANY
24  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
25  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
26  details.
27 
28  You should have received a copy of the GNU General Public License along
29  with Modena. If not, see <http://www.gnu.org/licenses/>.
30 
31 @endcond
32 @file
33 
34 Low-level interface library
35 
36 @author Henrik Rusche
37 @copyright 2014-2016, MoDeNa Project. GNU Public License.
38 */
39 
40 #ifndef __INDEXSET_H__
41 #define __INDEXSET_H__
42 
43 #include "Python.h"
44 
45 #undef __BEGIN_DECLS
46 #undef __END_DECLS
47 #ifdef __cplusplus
48 # define __BEGIN_DECLS extern "C" {
49 # define __END_DECLS }
50 #else
51 # define __BEGIN_DECLS /* empty */
52 # define __END_DECLS /* empty */
53 #endif
54 
55 __BEGIN_DECLS
56 
57 extern PyTypeObject modena_index_set_tType;
58 
59 extern PyObject *modena_IndexSet;
60 
69 typedef struct modena_index_set_t
70 {
71  PyObject_HEAD
72 
73  PyObject *pIndexSet;
74 
76 
77 modena_index_set_t *modena_index_set_new
78 (
79  const char *indexSetId
80 );
81 
82 size_t modena_index_set_get_index
83 (
84  const modena_index_set_t *self,
85  const char* name
86 );
87 
88 const char* modena_index_set_get_name
89 (
90  const modena_index_set_t *self,
91  const size_t index
92 );
93 
94 size_t modena_index_set_iterator_start
95 (
96  const modena_index_set_t *self
97 );
98 
99 size_t modena_index_set_iterator_end
100 (
101  const modena_index_set_t *self
102 );
103 
104 void modena_index_set_destroy(modena_index_set_t *indexSet);
105  // end of C_interface_library
107 
108 __END_DECLS
109 
110 #endif /* __INDEXSET_H__ */
111 
struct modena_index_set_t modena_index_set_t