mit doxy-tag file

master
Marc Wäckerlin 21 years ago
parent eb6daf08ba
commit f0f2ffd0c6
  1. 15
      configure.in
  2. 4
      mrw/auto.cpp
  3. 2
      mrw/doxyfile.in
  4. 1108
      mrw/libmrw.doxytag
  5. 2
      mrw/makefile.am
  6. 1
      mrw/stacktrace.cpp
  7. 4
      mrw/stacktrace_test.cpp

@ -32,14 +32,16 @@ AC_CHECK_HEADER(sys/old_procfs.h, [AM_CPPFLAGS=-D__solaris__])
AC_SEARCH_LIBS(cplus_demangle, iberty, [AC_MSG_RESULT([OK])], AC_SEARCH_LIBS(cplus_demangle, iberty, [AC_MSG_RESULT([OK])],
[AC_MSG_ERROR([Library iberty is required!])]) [AC_MSG_ERROR([Library iberty is required!])])
AC_SEARCH_LIBS(bfd_arch_list, bfd, [AC_MSG_RESULT([OK])], AC_SEARCH_LIBS(bfd_arch_list, bfd, [AC_MSG_RESULT([OK])],
[no_bfd=true])
if [ -n "$no_bfd" ]; then
AC_SEARCH_LIBS(bfd_arch_list, bfd, [AC_MSG_RESULT([OK])], AC_SEARCH_LIBS(bfd_arch_list, bfd, [AC_MSG_RESULT([OK])],
[AC_MSG_ERROR([BFD library libbfd is required])], [-lintl]) [AC_MSG_ERROR([BFD library libbfd is required])], [-lintl]))
fi
# Arguments # Arguments
AM_MAINTAINER_MODE AM_MAINTAINER_MODE
AC_ARG_ENABLE(pedantic,
[ --enable-pedantic enable all warnings and checks, abort on warnings],
[test "$enableval" = "yes" && \
AM_CXXFLAGS="${AM_CXXFLAGS:-} -pedantic-errors -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare -Wmissing-format-attribute -Wno-multichar -Wpacked -Wredundant-decls -Werror"])
dnl lib: -Wshadow -Wcast-qual
AC_ARG_ENABLE(dot, AC_ARG_ENABLE(dot,
[ --disable-dot disable dot graphic tools for documentation], [ --disable-dot disable dot graphic tools for documentation],
[have_dot="$enableval"]) [have_dot="$enableval"])
@ -51,6 +53,8 @@ AC_SUBST(MAJOR)
AC_SUBST(MINOR) AC_SUBST(MINOR)
AC_SUBST(SUPPORT) AC_SUBST(SUPPORT)
AC_SUBST(PACKAGENAME) AC_SUBST(PACKAGENAME)
AC_SUBST(AM_CXXFLAGS)
AC_SUBST(AM_CPPFLAGS)
# create output # create output
AC_CONFIG_FILES([makefile mrw-c++.spec mrw-c++-devel.spec AC_CONFIG_FILES([makefile mrw-c++.spec mrw-c++-devel.spec
@ -66,3 +70,6 @@ if test "$have_dot" = "no"; then
AC_MSG_WARN([Missing program dot! AC_MSG_WARN([Missing program dot!
- when you rebild documentation with make doc, there are no generated images - when you rebild documentation with make doc, there are no generated images
- there are precompiled derieved files in the distribution]); fi - there are precompiled derieved files in the distribution]); fi
AC_MSG_WARN([************** THE FLAGS = ${AM_CXXFLAGS}]);

@ -15,10 +15,10 @@ namespace mrw {
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
AutoMapper::AutoMapper(int fd, size_t sz, void* addr, AutoMapper::AutoMapper(int fd, size_t sz, void* addr,
int prot, int flags, off_t off) throw() { int prot, int flags, off_t off) throw(): _cont(0) {
if (!(_sz=sz)) { if (!(_sz=sz)) {
struct stat st; struct stat st;
if (fd==-1 || fstat(fd, &st)==-1) {release(); return;} if (fd==-1 || fstat(fd, &st)==-1) return;
_sz = st.st_size; _sz = st.st_size;
} }
if ((_cont=mmap(addr, _sz, prot, flags, fd, off))==MAP_FAILED) release(); if ((_cont=mmap(addr, _sz, prot, flags, fd, off))==MAP_FAILED) release();

@ -904,7 +904,7 @@ TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create # When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads. # a tag file that is based on the input files it reads.
GENERATE_TAGFILE = GENERATE_TAGFILE = libmrw.doxytag
# If the ALLEXTERNALS tag is set to YES all external classes will be listed # If the ALLEXTERNALS tag is set to YES all external classes will be listed
# in the class index. If set to NO only the inherited external classes # in the class index. If set to NO only the inherited external classes

@ -0,0 +1,1108 @@
<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>
<tagfile>
<compound kind="page">
<filename>index</filename>
<title></title>
<name>index</name>
</compound>
<compound kind="page">
<name>license</name>
<title>License</title>
<filename>license</filename>
</compound>
<compound kind="page">
<name>readme</name>
<title>Readme</title>
<filename>readme</filename>
</compound>
<compound kind="page">
<name>install</name>
<title>Installation</title>
<filename>install</filename>
</compound>
<compound kind="page">
<name>news</name>
<title>News</title>
<filename>news</filename>
</compound>
<compound kind="page">
<name>changes</name>
<title>Change Log</title>
<filename>changes</filename>
</compound>
<compound kind="group">
<name>arguments</name>
<title>C++ Evaluation of Command Line Arguments</title>
<filename>group__arguments.html</filename>
<class kind="class">mrw::Args</class>
<class kind="class">mrw::Opt</class>
<class kind="class">mrw::Param</class>
</compound>
<compound kind="group">
<name>AutoTools</name>
<title>Classes for Automated Resource Handling</title>
<filename>group__AutoTools.html</filename>
<class kind="class">mrw::AutoBfd</class>
<class kind="class">mrw::AutoFile</class>
<class kind="class">mrw::AutoFree</class>
<class kind="class">mrw::AutoMapper</class>
<class kind="class">mrw::pipe</class>
<class kind="class">mrw::SmartPointer</class>
</compound>
<compound kind="group">
<name>AutoTrace</name>
<title>Automated Unexpected Handler with Stack Trace</title>
<filename>group__AutoTrace.html</filename>
<member kind="function">
<type>void</type>
<name>unexpected_log4cxx</name>
<anchor>a1</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>void</type>
<name>unexpected_stderr</name>
<anchor>a2</anchor>
<arglist>()</arglist>
</member>
</compound>
<compound kind="group">
<name>CmdExec</name>
<title>Execute UNIX Commands</title>
<filename>group__CmdExec.html</filename>
<class kind="class">mrw::Cmd</class>
<class kind="class">mrw::Exec</class>
<class kind="class">mrw::ExecutionFailedExc</class>
</compound>
<compound kind="group">
<name>StackTrace</name>
<title>Collect and Format a Stack Trace</title>
<filename>group__StackTrace.html</filename>
<subgroup>AutoTrace</subgroup>
<class kind="class">mrw::bad_alloc</class>
<class kind="class">mrw::bad_cast</class>
<class kind="class">mrw::bad_exception</class>
<class kind="class">mrw::bad_typeid</class>
<class kind="class">mrw::domain_error</class>
<class kind="class">mrw::exception</class>
<class kind="class">mrw::invalid_argument</class>
<class kind="class">mrw::length_error</class>
<class kind="class">mrw::logic_error</class>
<class kind="class">mrw::out_of_range</class>
<class kind="class">mrw::overflow_error</class>
<class kind="class">mrw::range_error</class>
<class kind="class">mrw::runtime_error</class>
<class kind="class">mrw::StackTrace</class>
<class kind="class">mrw::underflow_error</class>
<member kind="function">
<type>std::ostream &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a0</anchor>
<arglist>(std::ostream &amp;os, const StackTrace &amp;st)</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::Args</name>
<filename>classmrw_1_1Args.html</filename>
<member kind="typedef">
<type>std::list&lt; std::string &gt;</type>
<name>OtherArgs</name>
<anchor>w0</anchor>
<arglist></arglist>
</member>
<member kind="function">
<type>Args &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a0</anchor>
<arglist>(const mrw::Opt &amp;opt)</arglist>
</member>
<member kind="function">
<type>Args &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a1</anchor>
<arglist>(int argc)</arglist>
</member>
<member kind="function">
<type>Args &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a2</anchor>
<arglist>(const char *const *const argv)</arglist>
</member>
<member kind="function">
<type>Args &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a3</anchor>
<arglist>(const std::string &amp;description)</arglist>
</member>
<member kind="function">
<type>Args &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a4</anchor>
<arglist>(char help)</arglist>
</member>
<member kind="function">
<type>const Opt &amp;</type>
<name>find</name>
<anchor>a5</anchor>
<arglist>(char c) const</arglist>
</member>
<member kind="function">
<type>const Opt &amp;</type>
<name>find</name>
<anchor>a6</anchor>
<arglist>(const std::string &amp;s) const</arglist>
</member>
<member kind="function">
<type>const OtherArgs &amp;</type>
<name>otherArgs</name>
<anchor>a7</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>const std::string &amp;</type>
<name>filename</name>
<anchor>a8</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>void</type>
<name>help</name>
<anchor>a9</anchor>
<arglist>()</arglist>
</member>
<member kind="function" static="yes">
<type>Args &amp;</type>
<name>instance</name>
<anchor>e0</anchor>
<arglist>()</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::AutoBfd</name>
<filename>classmrw_1_1AutoBfd.html</filename>
<member kind="function">
<type></type>
<name>AutoBfd</name>
<anchor>a0</anchor>
<arglist>(bfd *p=0)</arglist>
</member>
<member kind="function">
<type>AutoBfd &amp;</type>
<name>operator=</name>
<anchor>a2</anchor>
<arglist>(bfd *p)</arglist>
</member>
<member kind="function">
<type>AutoBfd &amp;</type>
<name>operator=</name>
<anchor>a3</anchor>
<arglist>(AutoBfd &amp;o)</arglist>
</member>
<member kind="function">
<type></type>
<name>operator bfd *</name>
<anchor>a4</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>bfd *</type>
<name>operator-&gt;</name>
<anchor>a5</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>bfd *</type>
<name>release</name>
<anchor>a6</anchor>
<arglist>()</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::AutoFile</name>
<filename>classmrw_1_1AutoFile.html</filename>
<member kind="function">
<type></type>
<name>AutoFile</name>
<anchor>a0</anchor>
<arglist>(int fd=-1)</arglist>
</member>
<member kind="function">
<type></type>
<name>AutoFile</name>
<anchor>a1</anchor>
<arglist>(AutoFile &amp;o)</arglist>
</member>
<member kind="function">
<type></type>
<name>~AutoFile</name>
<anchor>a2</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>AutoFile &amp;</type>
<name>operator=</name>
<anchor>a3</anchor>
<arglist>(int fd)</arglist>
</member>
<member kind="function">
<type>AutoFile &amp;</type>
<name>operator=</name>
<anchor>a4</anchor>
<arglist>(AutoFile &amp;other)</arglist>
</member>
<member kind="function">
<type></type>
<name>operator const int</name>
<anchor>a5</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type>int</type>
<name>release</name>
<anchor>a6</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>AutoFile &amp;</type>
<name>reset</name>
<anchor>a7</anchor>
<arglist>(int=-1)</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::AutoFree</name>
<filename>classmrw_1_1AutoFree.html</filename>
<templarg>T</templarg>
<member kind="function">
<type></type>
<name>AutoFree</name>
<anchor>a0</anchor>
<arglist>(T *p=0)</arglist>
</member>
<member kind="function">
<type></type>
<name>AutoFree</name>
<anchor>a1</anchor>
<arglist>(AutoFree &amp;o)</arglist>
</member>
<member kind="function">
<type>AutoFree &amp;</type>
<name>operator=</name>
<anchor>a3</anchor>
<arglist>(T *p)</arglist>
</member>
<member kind="function">
<type>AutoFree &amp;</type>
<name>operator=</name>
<anchor>a4</anchor>
<arglist>(AutoFree &amp;o)</arglist>
</member>
<member kind="function">
<type></type>
<name>operator T *</name>
<anchor>a5</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type></type>
<name>operator T **</name>
<anchor>a6</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type></type>
<name>operator bool</name>
<anchor>a7</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>T *</type>
<name>release</name>
<anchor>a8</anchor>
<arglist>()</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::AutoMapper</name>
<filename>classmrw_1_1AutoMapper.html</filename>
<member kind="function">
<type></type>
<name>AutoMapper</name>
<anchor>a0</anchor>
<arglist>(void *cont=0, size_t sz=0)</arglist>
</member>
<member kind="function">
<type></type>
<name>AutoMapper</name>
<anchor>a1</anchor>
<arglist>(int, size_t=0, void *=0, int=PROT_READ, int=MAP_SHARED, off_t=0)</arglist>
</member>
<member kind="function">
<type></type>
<name>operator const void *</name>
<anchor>a3</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type>AutoMapper &amp;</type>
<name>set</name>
<anchor>a4</anchor>
<arglist>(void *cont, size_t sz)</arglist>
</member>
<member kind="function">
<type>void *</type>
<name>release</name>
<anchor>a5</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>const void *</type>
<name>last</name>
<anchor>a6</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::bad_alloc</name>
<filename>classmrw_1_1bad__alloc.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a0</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::bad_cast</name>
<filename>classmrw_1_1bad__cast.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a0</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::bad_exception</name>
<filename>classmrw_1_1bad__exception.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a0</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::bad_typeid</name>
<filename>classmrw_1_1bad__typeid.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a0</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::Cmd</name>
<filename>classmrw_1_1Cmd.html</filename>
<member kind="function">
<type></type>
<name>Cmd</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;)</arglist>
</member>
<member kind="function">
<type>Cmd &amp;</type>
<name>operator,</name>
<anchor>a1</anchor>
<arglist>(const std::string &amp;)</arglist>
</member>
<member kind="function">
<type>Cmd &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a2</anchor>
<arglist>(const std::string &amp;)</arglist>
</member>
<member kind="function">
<type></type>
<name>operator std::string</name>
<anchor>a3</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type></type>
<name>operator Exec</name>
<anchor>a4</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type>Exec</type>
<name>execute</name>
<anchor>a5</anchor>
<arglist>(bool=true) const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::domain_error</name>
<filename>classmrw_1_1domain__error.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>domain_error</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::exception</name>
<filename>classmrw_1_1exception.html</filename>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a2</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type>const std::string &amp;</type>
<name>stacktrace</name>
<anchor>a3</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::Exec</name>
<filename>classmrw_1_1Exec.html</filename>
<member kind="function">
<type></type>
<name>Exec</name>
<anchor>a0</anchor>
<arglist>(const mrw::Cmd &amp;)</arglist>
</member>
<member kind="function">
<type></type>
<name>Exec</name>
<anchor>a1</anchor>
<arglist>(const mrw::Exec &amp;)</arglist>
</member>
<member kind="function">
<type>Exec &amp;</type>
<name>operator=</name>
<anchor>a3</anchor>
<arglist>(const mrw::Exec &amp;)</arglist>
</member>
<member kind="function">
<type>Exec &amp;</type>
<name>execute</name>
<anchor>a4</anchor>
<arglist>(bool=true)</arglist>
</member>
<member kind="function">
<type>Exec &amp;</type>
<name>operator&gt;&gt;</name>
<anchor>a5</anchor>
<arglist>(std::string &amp;)</arglist>
</member>
<member kind="function">
<type></type>
<name>operator std::string &amp;</name>
<anchor>a6</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type></type>
<name>operator bool</name>
<anchor>a7</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>std::string &amp;</type>
<name>result</name>
<anchor>a8</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>std::string &amp;</type>
<name>error</name>
<anchor>a9</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>bool</type>
<name>success</name>
<anchor>a10</anchor>
<arglist>()</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::ExecutionFailedExc</name>
<filename>classmrw_1_1ExecutionFailedExc.html</filename>
<base>mrw::exception</base>
<member kind="function">
<type></type>
<name>ExecutionFailedExc</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;, const std::string &amp;)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a2</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::invalid_argument</name>
<filename>classmrw_1_1invalid__argument.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>invalid_argument</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::length_error</name>
<filename>classmrw_1_1length__error.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>length_error</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::logic_error</name>
<filename>classmrw_1_1logic__error.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>logic_error</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::Opt</name>
<filename>classmrw_1_1Opt.html</filename>
<member kind="function">
<type></type>
<name>Opt::Opt</name>
<anchor>a0</anchor>
<arglist>(const char shortname, const std::string &amp;longname, const Param &amp;param, const std::string &amp;help)</arglist>
</member>
<member kind="function">
<type></type>
<name>Opt::Opt</name>
<anchor>a1</anchor>
<arglist>(const char shortname, const std::string &amp;longname, const std::string &amp;help)</arglist>
</member>
<member kind="function">
<type>const std::string &amp;</type>
<name>help</name>
<anchor>a2</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type></type>
<name>operator bool</name>
<anchor>a3</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type>const mrw::SmartPointer&lt; Param::Value &gt; &amp;</type>
<name>operator[]</name>
<anchor>a4</anchor>
<arglist>(unsigned int i) const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::out_of_range</name>
<filename>classmrw_1_1out__of__range.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>out_of_range</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::overflow_error</name>
<filename>classmrw_1_1overflow__error.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>overflow_error</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::Param</name>
<filename>classmrw_1_1Param.html</filename>
<member kind="function">
<type>int</type>
<name>size</name>
<anchor>a0</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type>Param &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a1</anchor>
<arglist>(const char *const s)</arglist>
</member>
<member kind="function">
<type>Param &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a2</anchor>
<arglist>(const std::string &amp;s)</arglist>
</member>
<member kind="function">
<type>Param &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a3</anchor>
<arglist>(int i)</arglist>
</member>
<member kind="function">
<type>Param &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a4</anchor>
<arglist>(bool b)</arglist>
</member>
<member kind="function">
<type>const mrw::SmartPointer&lt; Value &gt; &amp;</type>
<name>operator[]</name>
<anchor>a5</anchor>
<arglist>(unsigned int i) const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::Param::Value</name>
<filename>classmrw_1_1Param_1_1Value.html</filename>
<member kind="function" virtualness="virtual">
<type>virtual const std::string &amp;</type>
<name>toString</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual int</type>
<name>toInt</name>
<anchor>a2</anchor>
<arglist>() const</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual bool</type>
<name>toBool</name>
<anchor>a3</anchor>
<arglist>() const</arglist>
</member>
<member kind="function" virtualness="pure">
<type>virtual std::string</type>
<name>printable</name>
<anchor>a4</anchor>
<arglist>() const=0</arglist>
</member>
<member kind="function" virtualness="pure">
<type>virtual const std::string &amp;</type>
<name>typestr</name>
<anchor>a5</anchor>
<arglist>() const=0</arglist>
</member>
<member kind="function" protection="public" virtualness="pure">
<type>virtual void</type>
<name>operator=</name>
<anchor>b0</anchor>
<arglist>(const std::string &amp;)=0</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::Param::Value</name>
<filename>classmrw_1_1Param_1_1Value.html</filename>
<member kind="function" virtualness="virtual">
<type>virtual const std::string &amp;</type>
<name>toString</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual int</type>
<name>toInt</name>
<anchor>a2</anchor>
<arglist>() const</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual bool</type>
<name>toBool</name>
<anchor>a3</anchor>
<arglist>() const</arglist>
</member>
<member kind="function" virtualness="pure">
<type>virtual std::string</type>
<name>printable</name>
<anchor>a4</anchor>
<arglist>() const=0</arglist>
</member>
<member kind="function" virtualness="pure">
<type>virtual const std::string &amp;</type>
<name>typestr</name>
<anchor>a5</anchor>
<arglist>() const=0</arglist>
</member>
<member kind="function" protection="public" virtualness="pure">
<type>virtual void</type>
<name>operator=</name>
<anchor>b0</anchor>
<arglist>(const std::string &amp;)=0</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::pipe</name>
<filename>classmrw_1_1pipe.html</filename>
<member kind="function">
<type></type>
<name>pipe</name>
<anchor>a0</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type></type>
<name>~pipe</name>
<anchor>a1</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>void</type>
<name>close</name>
<anchor>a2</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>void</type>
<name>close_in</name>
<anchor>a3</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>void</type>
<name>close_out</name>
<anchor>a4</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type></type>
<name>operator bool</name>
<anchor>a5</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>int</type>
<name>error</name>
<anchor>a6</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>void</type>
<name>connect_cout</name>
<anchor>a7</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>void</type>
<name>connect_cerr</name>
<anchor>a8</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>int</type>
<name>istream</name>
<anchor>a9</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>int</type>
<name>ostream</name>
<anchor>a10</anchor>
<arglist>()</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::range_error</name>
<filename>classmrw_1_1range__error.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>range_error</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::runtime_error</name>
<filename>classmrw_1_1runtime__error.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>runtime_error</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::SmartPointer</name>
<filename>classmrw_1_1SmartPointer.html</filename>
<templarg>TYPE</templarg>
<member kind="function">
<type></type>
<name>SmartPointer</name>
<anchor>a1</anchor>
<arglist>(const SmartPointer&lt; TYPE &gt; &amp;o)</arglist>
</member>
<member kind="function">
<type></type>
<name>SmartPointer</name>
<anchor>a2</anchor>
<arglist>(TYPE *ptr)</arglist>
</member>
<member kind="function">
<type></type>
<name>SmartPointer</name>
<anchor>a3</anchor>
<arglist>(const SmartPointer&lt; OTHER &gt; &amp;o)</arglist>
</member>
<member kind="function">
<type>SmartPointer &amp;</type>
<name>operator=</name>
<anchor>a5</anchor>
<arglist>(const SmartPointer&lt; TYPE &gt; &amp;o)</arglist>
</member>
<member kind="function">
<type>SmartPointer &amp;</type>
<name>operator=</name>
<anchor>a6</anchor>
<arglist>(TYPE *ptr)</arglist>
</member>
<member kind="function">
<type>SmartPointer &amp;</type>
<name>operator=</name>
<anchor>a7</anchor>
<arglist>(const SmartPointer&lt; OTHER &gt; &amp;o)</arglist>
</member>
<member kind="function">
<type>TYPE &amp;</type>
<name>operator *</name>
<anchor>a8</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>const TYPE &amp;</type>
<name>operator *</name>
<anchor>a9</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type>TYPE *const</type>
<name>operator-&gt;</name>
<anchor>a10</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>const TYPE *const</type>
<name>operator-&gt;</name>
<anchor>a11</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type></type>
<name>operator bool</name>
<anchor>a12</anchor>
<arglist>()</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::StackTrace</name>
<filename>classmrw_1_1StackTrace.html</filename>
<member kind="typedef">
<type>std::vector&lt; void * &gt;</type>
<name>AddressTrace</name>
<anchor>w0</anchor>
<arglist></arglist>
</member>
<member kind="function">
<type></type>
<name>StackTrace</name>
<anchor>a0</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type></type>
<name>operator std::string</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type></type>
<name>operator const AddressTrace &amp;</name>
<anchor>a2</anchor>
<arglist>() const</arglist>
</member>
<member kind="function">
<type>const StackTrace &amp;</type>
<name>print</name>
<anchor>a3</anchor>
<arglist>(std::ostream &amp;os) const</arglist>
</member>
<member kind="function" static="yes">
<type>CodePos</type>
<name>translate</name>
<anchor>e0</anchor>
<arglist>(void *addr)</arglist>
</member>
<member kind="function" static="yes">
<type>bool</type>
<name>createSymtable</name>
<anchor>e1</anchor>
<arglist>(std::string=&quot;&quot;)</arglist>
</member>
</compound>
<compound kind="struct">
<name>mrw::StackTrace::CodePos</name>
<filename>structmrw_1_1StackTrace_1_1CodePos.html</filename>
<member kind="function">
<type></type>
<name>CodePos</name>
<anchor>a0</anchor>
<arglist>(void *a, std::string fn, std::string fi, unsigned int l)</arglist>
</member>
<member kind="variable">
<type>void *</type>
<name>address</name>
<anchor>o0</anchor>
<arglist></arglist>
</member>
<member kind="variable">
<type>std::string</type>
<name>function</name>
<anchor>o1</anchor>
<arglist></arglist>
</member>
<member kind="variable">
<type>std::string</type>
<name>file</name>
<anchor>o2</anchor>
<arglist></arglist>
</member>
<member kind="variable">
<type>unsigned int</type>
<name>line</name>
<anchor>o3</anchor>
<arglist></arglist>
</member>
</compound>
<compound kind="struct">
<name>mrw::StackTrace::CodePos</name>
<filename>structmrw_1_1StackTrace_1_1CodePos.html</filename>
<member kind="function">
<type></type>
<name>CodePos</name>
<anchor>a0</anchor>
<arglist>(void *a, std::string fn, std::string fi, unsigned int l)</arglist>
</member>
<member kind="variable">
<type>void *</type>
<name>address</name>
<anchor>o0</anchor>
<arglist></arglist>
</member>
<member kind="variable">
<type>std::string</type>
<name>function</name>
<anchor>o1</anchor>
<arglist></arglist>
</member>
<member kind="variable">
<type>std::string</type>
<name>file</name>
<anchor>o2</anchor>
<arglist></arglist>
</member>
<member kind="variable">
<type>unsigned int</type>
<name>line</name>
<anchor>o3</anchor>
<arglist></arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::underflow_error</name>
<filename>classmrw_1_1underflow__error.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>underflow_error</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
</member>
</compound>
</tagfile>

@ -1,4 +1,4 @@
AM_CPPFLAGS = -I.. AM_CPPFLAGS := ${AM_CPPFLAGS} -I..
CLEANFILES = doxygen.error CLEANFILES = doxygen.error
examplesdir = ${pkgdatadir}/examples examplesdir = ${pkgdatadir}/examples

@ -173,6 +173,7 @@ namespace mrw {
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
void StackTrace::buildSectionMap(bfd* abfd, asection* section, void*) void StackTrace::buildSectionMap(bfd* abfd, asection* section, void*)
throw(std::bad_exception) { throw(std::bad_exception) {
if (!abfd || !section) return;
if (!(bfd_get_section_flags(abfd, section)&SEC_ALLOC)) return; if (!(bfd_get_section_flags(abfd, section)&SEC_ALLOC)) return;
bfd_vma vma(bfd_get_section_vma(abfd, section)); bfd_vma vma(bfd_get_section_vma(abfd, section));
bfd_size_type sz(bfd_get_section_size_before_reloc(section)); bfd_size_type sz(bfd_get_section_size_before_reloc(section));

@ -14,8 +14,8 @@ namespace mrw {
std::stringstream ss; std::stringstream ss;
ss<<f<<':'<<l; ss<<f<<':'<<l;
std::string st(s); std::string st(s);
int pos(st.find(ss.str())); std::string::size_type pos(st.find(ss.str()));
CPPUNIT_ASSERT(pos<st.size()); CPPUNIT_ASSERT(pos!=std::string::npos);
CPPUNIT_ASSERT(st.find("mrw::StackTraceTest::StackTrace()", pos) CPPUNIT_ASSERT(st.find("mrw::StackTraceTest::StackTrace()", pos)
< st.size()); < st.size());
} }

Loading…
Cancel
Save