Mercurial > hg > octave-lyh
diff src/unwind-prot.h @ 240:a99f28f5e351
[project @ 1993-11-30 20:24:36 by jwe]
author | jwe |
---|---|
date | Tue, 30 Nov 1993 20:24:36 +0000 |
parents | e2c950dd96d2 |
children | 0b52c68ec81f |
line wrap: on
line diff
--- a/src/unwind-prot.h +++ b/src/unwind-prot.h @@ -24,10 +24,6 @@ #if !defined (_unwind_prot_h) #define _unwind_prot_h 1 -#ifdef __GNUG__ -#pragma interface -#endif - typedef void (*cleanup_func)(void *ptr); void add_unwind_protect (cleanup_func fptr, void *ptr); @@ -55,6 +51,27 @@ #define unwind_protect_var(i) \ unwind_protect_var_internal ((void *) &(i), (void *) &(i), sizeof (int)) +class unwind_elem +{ + public: + unwind_elem (void); + unwind_elem (char *t); + unwind_elem (cleanup_func f, void *p); + unwind_elem (const unwind_elem& el); + ~unwind_elem (void); + + unwind_elem& operator = (const unwind_elem& el); + + char *tag (void); + cleanup_func fptr (void); + void *ptr (void); + + private: + char *_tag; + cleanup_func _fptr; + void *_ptr; +}; + #endif /*