libcwd: The C++ Debugging Support Library - Reference Manual
Author: Carlo Wood
Description: C++ debugging support library with ostream debug output
Keywords: libcwd, debug output, debug facility, debug channel, object orientation, OO, C++, nested debug output, ostream, memory allocation, debugging, source file and line number

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

# libcwd/class_marker.h

Go to the documentation of this file.

    00001 // $Header$
    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