Showing
4 changed files
with
52 additions
and
48 deletions
| @@ -34,8 +34,21 @@ TR_INTERFACE(TR_Hashable) { | @@ -34,8 +34,21 @@ TR_INTERFACE(TR_Hashable) { | ||
| 34 | fptr_TR_hashableHandleDouble handleDouble; | 34 | fptr_TR_hashableHandleDouble handleDouble; |
| 35 | }; | 35 | }; |
| 36 | 36 | ||
| 37 | -extern unsigned long TR_hashableGetHash(void *); | ||
| 38 | -extern void TR_hashableHandleDouble(void *, void *); | 37 | +inline |
| 38 | +unsigned long | ||
| 39 | +TR_hashableGetHash(void * hashable) | ||
| 40 | +{ | ||
| 41 | + unsigned long ret; | ||
| 42 | + TR_RETCALL(hashable, TR_Hashable, getHash, ret); | ||
| 43 | + return ret; | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | +inline | ||
| 47 | +void | ||
| 48 | +TR_hashableHandleDouble(void * hashable, void * new_hashable) | ||
| 49 | +{ | ||
| 50 | + TR_CALL(hashable, TR_Hashable, handleDouble, new_hashable); | ||
| 51 | +} | ||
| 39 | 52 | ||
| 40 | #endif // __TR_INTERFACE_HASHABLE_H__ | 53 | #endif // __TR_INTERFACE_HASHABLE_H__ |
| 41 | 54 |
| @@ -42,10 +42,37 @@ TR_INTERFACE(TR_Iterable) { | @@ -42,10 +42,37 @@ TR_INTERFACE(TR_Iterable) { | ||
| 42 | TR_iterableRewind((this)); \ | 42 | TR_iterableRewind((this)); \ |
| 43 | for (; TR_iterableValid((this)); TR_iterableNext((this))) | 43 | for (; TR_iterableValid((this)); TR_iterableNext((this))) |
| 44 | 44 | ||
| 45 | -extern void * TR_iterableCurrent(void *); | ||
| 46 | -extern void TR_iterableNext(void *); | ||
| 47 | -extern void TR_iterableRewind(void *); | ||
| 48 | -extern int TR_iterableValid(void *); | 45 | +inline |
| 46 | +void * | ||
| 47 | +TR_iterableCurrent(void * iterable) | ||
| 48 | +{ | ||
| 49 | + void * ret; | ||
| 50 | + TR_RETCALL(iterable, TR_Iterable, current, ret); | ||
| 51 | + return ret; | ||
| 52 | +} | ||
| 53 | + | ||
| 54 | +inline | ||
| 55 | +void | ||
| 56 | +TR_iterableNext(void * iterable) | ||
| 57 | +{ | ||
| 58 | + TR_CALL(iterable, TR_Iterable, next); | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +inline | ||
| 62 | +void | ||
| 63 | +TR_iterableRewind(void * iterable) | ||
| 64 | +{ | ||
| 65 | + TR_CALL(iterable, TR_Iterable, rewind); | ||
| 66 | +} | ||
| 67 | + | ||
| 68 | +inline | ||
| 69 | +int | ||
| 70 | +TR_iterableValid(void * iterable) | ||
| 71 | +{ | ||
| 72 | + int ret; | ||
| 73 | + TR_RETCALL(iterable, TR_Iterable, valid, ret); | ||
| 74 | + return ret; | ||
| 75 | +} | ||
| 49 | 76 | ||
| 50 | #endif // __TR_INTERFACE_ITERABLE_H__ | 77 | #endif // __TR_INTERFACE_ITERABLE_H__ |
| 51 | 78 |
| @@ -29,20 +29,7 @@ | @@ -29,20 +29,7 @@ | ||
| 29 | 29 | ||
| 30 | TR_CREATE_INTERFACE(TR_Hashable, 2); | 30 | TR_CREATE_INTERFACE(TR_Hashable, 2); |
| 31 | 31 | ||
| 32 | -unsigned long | ||
| 33 | -TR_hashableGetHash(void * hashable) | ||
| 34 | -{ | ||
| 35 | - unsigned long ret; | ||
| 36 | - | ||
| 37 | - TR_RETCALL(hashable, TR_Hashable, getHash, ret); | ||
| 38 | - | ||
| 39 | - return ret; | ||
| 40 | -} | ||
| 41 | - | ||
| 42 | -void | ||
| 43 | -TR_hashableHandleDouble(void * hashable, void * new_hashable) | ||
| 44 | -{ | ||
| 45 | - TR_CALL(hashable, TR_Hashable, handleDouble, new_hashable); | ||
| 46 | -} | 32 | +extern inline unsigned long TR_hashableGetHash(void *); |
| 33 | +extern inline void TR_hashableHandleDouble(void *, void *); | ||
| 47 | 34 | ||
| 48 | // vim: set ts=4 sw=4: | 35 | // vim: set ts=4 sw=4: |
| @@ -25,32 +25,9 @@ | @@ -25,32 +25,9 @@ | ||
| 25 | 25 | ||
| 26 | TR_CREATE_INTERFACE(TR_Iterable, 4); | 26 | TR_CREATE_INTERFACE(TR_Iterable, 4); |
| 27 | 27 | ||
| 28 | -void * | ||
| 29 | -TR_iterableCurrent(void * iterable) | ||
| 30 | -{ | ||
| 31 | - void * ret; | ||
| 32 | - TR_RETCALL(iterable, TR_Iterable, current, ret); | ||
| 33 | - return ret; | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -void | ||
| 37 | -TR_iterableNext(void * iterable) | ||
| 38 | -{ | ||
| 39 | - TR_CALL(iterable, TR_Iterable, next); | ||
| 40 | -} | ||
| 41 | - | ||
| 42 | -void | ||
| 43 | -TR_iterableRewind(void * iterable) | ||
| 44 | -{ | ||
| 45 | - TR_CALL(iterable, TR_Iterable, rewind); | ||
| 46 | -} | ||
| 47 | - | ||
| 48 | -int | ||
| 49 | -TR_iterableValid(void * iterable) | ||
| 50 | -{ | ||
| 51 | - int ret; | ||
| 52 | - TR_RETCALL(iterable, TR_Iterable, valid, ret); | ||
| 53 | - return ret; | ||
| 54 | -} | 28 | +extern inline void * TR_iterableCurrent(void *); |
| 29 | +extern inline void TR_iterableNext(void *); | ||
| 30 | +extern inline void TR_iterableRewind(void *); | ||
| 31 | +extern inline int TR_iterableValid(void *); | ||
| 55 | 32 | ||
| 56 | // vim: set ts=4 sw=4: | 33 | // vim: set ts=4 sw=4: |
Please
register
or
login
to post a comment