mrw-c++-0.92 (mrw)

- new file: version.cpp
- new file header for all sources
- work around warning in mrw::auto<T>
- possibility to compile without log4cxx
- work around bugs in demangle.h and libiberty.h
- corrections in documentation
- added simple tracing mechanism
- more warnings
- small corrections in Auto<>::Free and a new test for it
- possibility to compile without stack trace
This commit is contained in:
Marc Wäckerlin
2004-08-28 16:21:25 +00:00
parent 7a88e4bc43
commit 235a15020b
30 changed files with 1922 additions and 948 deletions

View File

@@ -1,9 +1,161 @@
<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>
<tagfile>
<compound kind="page">
<filename>index</filename>
<title></title>
<name>index</name>
<title></title>
<filename>index</filename>
<docanchor>moreinfo</docanchor>
<docanchor>download</docanchor>
<docanchor>intro</docanchor>
<docanchor>threads</docanchor>
<docanchor>usage</docanchor>
</compound>
<compound kind="file">
<name>arg.cpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>arg_8cpp</filename>
</compound>
<compound kind="file">
<name>arg.hpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>arg_8hpp</filename>
</compound>
<compound kind="file">
<name>auto.hpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>auto_8hpp</filename>
<member kind="function">
<type>int</type>
<name>bfd_close</name>
<anchor>a0</anchor>
<arglist>(bfd *)</arglist>
</member>
</compound>
<compound kind="file">
<name>autostacktracelog4cxx.cpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>autostacktracelog4cxx_8cpp</filename>
</compound>
<compound kind="file">
<name>autostacktracestderr.cpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>autostacktracestderr_8cpp</filename>
</compound>
<compound kind="file">
<name>exception.cpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>exception_8cpp</filename>
</compound>
<compound kind="file">
<name>exception.hpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>exception_8hpp</filename>
</compound>
<compound kind="file">
<name>exec.cpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>exec_8cpp</filename>
</compound>
<compound kind="file">
<name>exec.hpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>exec_8hpp</filename>
</compound>
<compound kind="file">
<name>simpletrace.hpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>simpletrace_8hpp</filename>
<member kind="define">
<type>#define</type>
<name>METHOD</name>
<anchor>ga0</anchor>
<arglist>(name)</arglist>
</member>
<member kind="define">
<type>#define</type>
<name>FUNCTION</name>
<anchor>ga1</anchor>
<arglist>(name)</arglist>
</member>
<member kind="define">
<type>#define</type>
<name>CALL</name>
<anchor>ga2</anchor>
<arglist>(name)</arglist>
</member>
<member kind="define">
<type>#define</type>
<name>TRACE</name>
<anchor>ga3</anchor>
<arglist>(text)</arglist>
</member>
<member kind="define">
<type>#define</type>
<name>TRACE_OFF</name>
<anchor>ga4</anchor>
<arglist></arglist>
</member>
<member kind="define">
<type>#define</type>
<name>TRACE_ON</name>
<anchor>ga5</anchor>
<arglist></arglist>
</member>
<member kind="define">
<type>#define</type>
<name>NO_TRACE</name>
<anchor>ga6</anchor>
<arglist></arglist>
</member>
</compound>
<compound kind="file">
<name>smartpointer.hpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>smartpointer_8hpp</filename>
</compound>
<compound kind="file">
<name>stacktrace.cpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>stacktrace_8cpp</filename>
<member kind="define">
<type>#define</type>
<name>HAVE_DECL_BASENAME</name>
<anchor>a0</anchor>
<arglist></arglist>
</member>
<member kind="define">
<type>#define</type>
<name>HAVE_DECL_ASPRINTF</name>
<anchor>a1</anchor>
<arglist></arglist>
</member>
<member kind="define">
<type>#define</type>
<name>HAVE_DECL_VASPRINTF</name>
<anchor>a2</anchor>
<arglist></arglist>
</member>
<member kind="define">
<type>#define</type>
<name>typename</name>
<anchor>a3</anchor>
<arglist></arglist>
</member>
</compound>
<compound kind="file">
<name>stacktrace.hpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>stacktrace_8hpp</filename>
</compound>
<compound kind="file">
<name>unistd.hpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>unistd_8hpp</filename>
</compound>
<compound kind="file">
<name>version.cpp</name>
<path>/privat/home/marc/pro/mrw-c++/mrw/</path>
<filename>version_8cpp</filename>
</compound>
<compound kind="page">
<name>license</name>
@@ -34,20 +186,43 @@
<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>
<class kind="class">mrw::Opt</class>
<class kind="class">mrw::Args</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::AutoResource</class>
<class kind="class">mrw::MMapHandle</class>
<class kind="class">mrw::Auto</class>
<class kind="class">mrw::SmartPointer</class>
<class kind="class">mrw::Pipe</class>
<member kind="typedef">
<type>mrw::AutoResource&lt; int, int(*)(int),&amp;close, int,-1 &gt;</type>
<name>AutoFile</name>
<anchor>ga0</anchor>
<arglist></arglist>
</member>
<member kind="typedef">
<type>mrw::AutoResource&lt; MMapHandle, void(*)(MMapHandle &amp;),&amp;mrw::munmap, int &gt;</type>
<name>AutoMapper</name>
<anchor>ga1</anchor>
<arglist></arglist>
</member>
<member kind="typedef">
<type>mrw::AutoResource&lt; bfd *, int(*)(bfd *),&amp;bfd_close, int &gt;</type>
<name>AutoBfd</name>
<anchor>ga2</anchor>
<arglist></arglist>
</member>
<member kind="function">
<type>void</type>
<name>munmap</name>
<anchor>ga3</anchor>
<arglist>(MMapHandle &amp;res)</arglist>
</member>
</compound>
<compound kind="group">
<name>AutoTrace</name>
@@ -56,50 +231,257 @@
<member kind="function">
<type>void</type>
<name>unexpected_log4cxx</name>
<anchor>a1</anchor>
<anchor>ga0</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>void</type>
<name>unexpected_stderr</name>
<anchor>a2</anchor>
<anchor>ga1</anchor>
<arglist>()</arglist>
</member>
<docanchor>trcstderr</docanchor>
<docanchor>trclog4cxx</docanchor>
</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>
<class kind="class">mrw::Exec</class>
<class kind="class">mrw::Cmd</class>
</compound>
<compound kind="group">
<name>SimpleTrace</name>
<title>Simple Tracing (for temporary debugging)</title>
<filename>group__SimpleTrace.html</filename>
<namespace>mrw</namespace>
<member kind="define">
<type>#define</type>
<name>METHOD</name>
<anchor>ga0</anchor>
<arglist>(name)</arglist>
</member>
<member kind="define">
<type>#define</type>
<name>FUNCTION</name>
<anchor>ga1</anchor>
<arglist>(name)</arglist>
</member>
<member kind="define">
<type>#define</type>
<name>CALL</name>
<anchor>ga2</anchor>
<arglist>(name)</arglist>
</member>
<member kind="define">
<type>#define</type>
<name>TRACE</name>
<anchor>ga3</anchor>
<arglist>(text)</arglist>
</member>
<member kind="define">
<type>#define</type>
<name>TRACE_OFF</name>
<anchor>ga4</anchor>
<arglist></arglist>
</member>
<member kind="define">
<type>#define</type>
<name>TRACE_ON</name>
<anchor>ga5</anchor>
<arglist></arglist>
</member>
<member kind="define">
<type>#define</type>
<name>NO_TRACE</name>
<anchor>ga6</anchor>
<arglist></arglist>
</member>
</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::exception</class>
<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::logic_error</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::runtime_error</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>
<class kind="class">mrw::StackTrace</class>
<member kind="function">
<type>std::ostream &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a0</anchor>
<anchor>ga0</anchor>
<arglist>(std::ostream &amp;os, const StackTrace &amp;st)</arglist>
</member>
<docanchor>excsug</docanchor>
<docanchor>excprob</docanchor>
<docanchor>exc</docanchor>
</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="protected" 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="protected" 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::Opt</name>
<filename>classmrw_1_1Opt.html</filename>
<member kind="function">
<type></type>
<name>Opt</name>
<anchor>a0</anchor>
<arglist>(const char shortname, const std::string &amp;longname, const Param &amp;param, const std::string &amp;helptext)</arglist>
</member>
<member kind="function">
<type></type>
<name>Opt</name>
<anchor>a1</anchor>
<arglist>(const char shortname, const std::string &amp;longname, const std::string &amp;helptext)</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::Args</name>
@@ -138,19 +520,19 @@
<type>Args &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a4</anchor>
<arglist>(char help)</arglist>
<arglist>(char helpopt)</arglist>
</member>
<member kind="function">
<type>const Opt &amp;</type>
<name>find</name>
<anchor>a5</anchor>
<arglist>(char c) const</arglist>
<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>
<arglist>(const std::string &amp;s) const </arglist>
</member>
<member kind="function">
<type>const OtherArgs &amp;</type>
@@ -178,134 +560,53 @@
</member>
</compound>
<compound kind="class">
<name>mrw::AutoBfd</name>
<filename>classmrw_1_1AutoBfd.html</filename>
<name>mrw::AutoResource</name>
<filename>classmrw_1_1AutoResource.html</filename>
<templarg>RESOURCE_TYPE</templarg>
<templarg>FUNCTION_PTR</templarg>
<templarg>FREE_FUNCTION</templarg>
<templarg>INITIAL_VALUE_TYPE</templarg>
<templarg>INITIAL_VALUE</templarg>
<templarg>FREE_TYPE</templarg>
<member kind="function">
<type></type>
<name>AutoBfd</name>
<name>AutoResource</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>
<arglist>(FREE_TYPE res=INITIAL_VALUE)</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>
<name>AutoResource</name>
<anchor>a1</anchor>
<arglist>(AutoFile &amp;o)</arglist>
<arglist>(AutoResource &amp;o)</arglist>
</member>
<member kind="function">
<type></type>
<name>~AutoFile</name>
<name>~AutoResource</name>
<anchor>a2</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>AutoFile &amp;</type>
<type>AutoResource &amp;</type>
<name>operator=</name>
<anchor>a3</anchor>
<arglist>(int fd)</arglist>
<arglist>(RESOURCE_TYPE res)</arglist>
</member>
<member kind="function">
<type>AutoFile &amp;</type>
<type>AutoResource &amp;</type>
<name>operator=</name>
<anchor>a4</anchor>
<arglist>(AutoFile &amp;other)</arglist>
<arglist>(AutoResource &amp;other)</arglist>
</member>
<member kind="function">
<type></type>
<name>operator const int</name>
<name>operator const RESOURCE_TYPE &amp;</name>
<anchor>a5</anchor>
<arglist>() const</arglist>
<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>
<type>RESOURCE_TYPE &amp;</type>
<name>getClean</name>
<anchor>a6</anchor>
<arglist>()</arglist>
</member>
@@ -313,53 +614,80 @@
<type></type>
<name>operator bool</name>
<anchor>a7</anchor>
<arglist>()</arglist>
<arglist>() const </arglist>
</member>
<member kind="function">
<type>T *</type>
<type>RESOURCE_TYPE</type>
<name>release</name>
<anchor>a8</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>AutoResource &amp;</type>
<name>reset</name>
<anchor>a9</anchor>
<arglist>(RESOURCE_TYPE res=INITIAL_VALUE)</arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::AutoMapper</name>
<filename>classmrw_1_1AutoMapper.html</filename>
<name>mrw::MMapHandle</name>
<filename>classmrw_1_1MMapHandle.html</filename>
<member kind="function">
<type></type>
<name>AutoMapper</name>
<name>MMapHandle</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>
<type>MMapHandle &amp;</type>
<name>operator=</name>
<anchor>a1</anchor>
<arglist>(int)</arglist>
</member>
<member kind="function">
<type>AutoMapper &amp;</type>
<name>set</name>
<anchor>a4</anchor>
<arglist>(void *cont, size_t sz)</arglist>
<type>bool</type>
<name>operator==</name>
<anchor>a2</anchor>
<arglist>(int i) const </arglist>
</member>
<member kind="function">
<member kind="variable">
<type>void *</type>
<name>release</name>
<anchor>a5</anchor>
<arglist>()</arglist>
<name>first</name>
<anchor>o0</anchor>
<arglist></arglist>
</member>
<member kind="variable">
<type>size_t</type>
<name>second</name>
<anchor>o1</anchor>
<arglist></arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::Auto</name>
<filename>classmrw_1_1Auto.html</filename>
<templarg>T</templarg>
<member kind="typedef">
<type>mrw::AutoResource&lt; T, void(*)(void *),&amp;free, int, 0, void * &gt;</type>
<name>Free</name>
<anchor>w0</anchor>
<arglist></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 void *</type>
<name>last</name>
<anchor>a6</anchor>
<arglist>() const</arglist>
<type>const std::string &amp;</type>
<name>stacktrace</name>
<anchor>a3</anchor>
<arglist>() const </arglist>
</member>
</compound>
<compound kind="class">
@@ -370,7 +698,7 @@
<type>virtual const char *</type>
<name>what</name>
<anchor>a0</anchor>
<arglist>() const</arglist>
<arglist>() const </arglist>
</member>
</compound>
<compound kind="class">
@@ -381,7 +709,7 @@
<type>virtual const char *</type>
<name>what</name>
<anchor>a0</anchor>
<arglist>() const</arglist>
<arglist>() const </arglist>
</member>
</compound>
<compound kind="class">
@@ -392,7 +720,7 @@
<type>virtual const char *</type>
<name>what</name>
<anchor>a0</anchor>
<arglist>() const</arglist>
<arglist>() const </arglist>
</member>
</compound>
<compound kind="class">
@@ -403,47 +731,24 @@
<type>virtual const char *</type>
<name>what</name>
<anchor>a0</anchor>
<arglist>() const</arglist>
<arglist>() const </arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::Cmd</name>
<filename>classmrw_1_1Cmd.html</filename>
<name>mrw::logic_error</name>
<filename>classmrw_1_1logic__error.html</filename>
<base virtualness="virtual">mrw::exception</base>
<member kind="function">
<type></type>
<name>Cmd</name>
<name>logic_error</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;)</arglist>
<arglist>(const std::string &amp;arg)</arglist>
</member>
<member kind="function">
<type>Cmd &amp;</type>
<name>operator,</name>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</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>
<arglist>() const </arglist>
</member>
</compound>
<compound kind="class">
@@ -460,23 +765,143 @@
<type>virtual const char *</type>
<name>what</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
<arglist>() const </arglist>
</member>
</compound>
<compound kind="class">
<name>mrw::exception</name>
<filename>classmrw_1_1exception.html</filename>
<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::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::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::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::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::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>
<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>
<member kind="function">
<type>const std::string &amp;</type>
<name>stacktrace</name>
<anchor>a3</anchor>
<arglist>() const</arglist>
<arglist>() const </arglist>
</member>
</compound>
<compound kind="class">
@@ -544,363 +969,43 @@
</member>
</compound>
<compound kind="class">
<name>mrw::ExecutionFailedExc</name>
<filename>classmrw_1_1ExecutionFailedExc.html</filename>
<base>mrw::exception</base>
<name>mrw::Cmd</name>
<filename>classmrw_1_1Cmd.html</filename>
<member kind="function">
<type></type>
<name>ExecutionFailedExc</name>
<name>Cmd</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;, const std::string &amp;)</arglist>
<arglist>(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>
<type>Cmd &amp;</type>
<name>operator,</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>
<arglist>(const std::string &amp;)</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>
<type>Cmd &amp;</type>
<name>operator&lt;&lt;</name>
<anchor>a2</anchor>
<arglist>(const std::string &amp;s)</arglist>
<arglist>(const std::string &amp;)</arglist>
</member>
<member kind="function">
<type>Param &amp;</type>
<name>operator&lt;&lt;</name>
<type></type>
<name>operator std::string</name>
<anchor>a3</anchor>
<arglist>(int i)</arglist>
<arglist>() const </arglist>
</member>
<member kind="function">
<type>Param &amp;</type>
<name>operator&lt;&lt;</name>
<type></type>
<name>operator mrw::Exec</name>
<anchor>a4</anchor>
<arglist>(bool b)</arglist>
<arglist>() const </arglist>
</member>
<member kind="function">
<type>const mrw::SmartPointer&lt; Value &gt; &amp;</type>
<name>operator[]</name>
<type>Exec</type>
<name>execute</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>
<arglist>(bool=true) const </arglist>
</member>
</compound>
<compound kind="class">
@@ -953,19 +1058,19 @@
<type>const TYPE &amp;</type>
<name>operator *</name>
<anchor>a9</anchor>
<arglist>() const</arglist>
<arglist>() const </arglist>
</member>
<member kind="function">
<type>TYPE *const</type>
<type>TYPE *const </type>
<name>operator-&gt;</name>
<anchor>a10</anchor>
<arglist>()</arglist>
</member>
<member kind="function">
<type>const TYPE *const</type>
<type>const TYPE *const </type>
<name>operator-&gt;</name>
<anchor>a11</anchor>
<arglist>() const</arglist>
<arglist>() const </arglist>
</member>
<member kind="function">
<type></type>
@@ -993,19 +1098,19 @@
<type></type>
<name>operator std::string</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
<arglist>() const </arglist>
</member>
<member kind="function">
<type></type>
<name>operator const AddressTrace &amp;</name>
<anchor>a2</anchor>
<arglist>() const</arglist>
<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>
<arglist>(std::ostream &amp;os) const </arglist>
</member>
<member kind="function" static="yes">
<type>CodePos</type>
@@ -1089,20 +1194,73 @@
</member>
</compound>
<compound kind="class">
<name>mrw::underflow_error</name>
<filename>classmrw_1_1underflow__error.html</filename>
<base virtualness="virtual">mrw::exception</base>
<name>mrw::Pipe</name>
<filename>classmrw_1_1Pipe.html</filename>
<member kind="function">
<type></type>
<name>underflow_error</name>
<name>Pipe</name>
<anchor>a0</anchor>
<arglist>(const std::string &amp;arg)</arglist>
<arglist>()</arglist>
</member>
<member kind="function" virtualness="virtual">
<type>virtual const char *</type>
<name>what</name>
<member kind="function">
<type></type>
<name>~Pipe</name>
<anchor>a1</anchor>
<arglist>() const</arglist>
<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>
</tagfile>