taskrambler  0.1.9
Web server and task management solution.
hashable.h
Go to the documentation of this file.
1 /**
2  * \file
3  * The logger interface.
4  *
5  * \author Georg Hopp
6  *
7  * \copyright
8  * Copyright © 2012 Georg Hopp
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef __HASH_INTERFACE_HASHABLE_H__
25 #define __HASH_INTERFACE_HASHABLE_H__
26 
27 #include "class.h"
28 
29 typedef unsigned long (* fptr_hashableGetHash)(void *);
30 typedef void (* fptr_hashableHandleDouble)(void *, void *);
31 
32 extern const struct interface i_Hashable;
33 
34 struct i_Hashable {
35  const struct interface * const _;
38 };
39 
40 extern unsigned long hashableGetHash(void *);
41 extern void hashableHandleDouble(void *, void *);
42 
43 #endif // __HASH_INTERFACE_HASHABLE_H__
44 
45 // vim: set ts=4 sw=4:
unsigned long(* fptr_hashableGetHash)(void *)
Definition: hashable.h:29
fptr_hashableGetHash getHash
Definition: hashable.h:36
void(* fptr_hashableHandleDouble)(void *, void *)
Definition: hashable.h:30
unsigned long hashableGetHash(void *)
Definition: hashable.c:36
void hashableHandleDouble(void *, void *)
Definition: hashable.c:62
const struct interface *const _
Definition: hashable.h:35
fptr_hashableHandleDouble handleDouble
Definition: hashable.h:37