Main Page   Reference Manual   Namespace List   Compound List   Namespace Members   Compound Members   File Members  

class_marker.h

Go to the documentation of this file.
00001 // $Header: /cvsroot/libcwd/libcwd/include/libcwd/class_marker.h,v 1.8 2005/12/19 16:02:25 libcw Exp $
00002 //
00003 // Copyright (C) 2000 - 2004, by
00004 // 
00005 // Carlo Wood, Run on IRC <carlo@alinoe.com>
00006 // RSA-1024 0x624ACAD5 1997-01-26                    Sign & Encrypt
00007 // Fingerprint16 = 32 EC A7 B6 AC DB 65 A6  F6 F6 55 DD 1C DC FF 61
00008 //
00009 // This file may be distributed under the terms of the Q Public License
00010 // version 1.0 as appearing in the file LICENSE.QPL included in the
00011 // packaging of this file.
00012 //
00013 
00018 #ifndef LIBCWD_CLASS_MARKER_H
00019 #define LIBCWD_CLASS_MARKER_H
00020 
00021 #ifndef LIBCWD_CLASS_ALLOC_FILTER_H
00022 #include <libcwd/class_alloc_filter.h>
00023 #endif
00024 
00025 namespace libcwd {
00026 
00027 extern alloc_filter_ct const default_ooam_filter;
00028 
00033 class marker_ct {
00034 private:
00035   void register_marker(char const* label);
00036   alloc_filter_ct const& M_filter;
00037   bool M_make_invisible;
00038 public:
00050   marker_ct(char const* label, alloc_filter_ct const& filter, bool make_invisible = false) :
00051       M_filter(filter), M_make_invisible(make_invisible) { register_marker(label); }
00052 
00054   marker_ct(char const* label) : M_filter(default_ooam_filter), M_make_invisible(false) { register_marker(label); }
00055 
00067   marker_ct(alloc_filter_ct const& filter, bool make_invisible = false) :
00068       M_filter(filter), M_make_invisible(make_invisible) { register_marker("An allocation marker"); }
00069 
00071   marker_ct(void) : M_filter(default_ooam_filter), M_make_invisible(false) { register_marker("An allocation marker"); }
00072 
00073   ~marker_ct();
00074 };
00075 
00076 } // namespace libcwd
00077 
00078 #endif // LIBCWD_CLASS_MARKER_H
00079 
Copyright © 2001 - 2004 Carlo Wood.  All rights reserved.