ACE Documentation Tools

This directory contains versions of the freely available OSE tools used to generate the ACE man and HTML documentation. These tools were originally written by Graham Dumpleton and later modified by Karlheinz Dorn. We are very grateful to Graham and Karlheinz for these tools. You can obtain the ACE documentation-generation tools in the ACE release.

Modified Version of the OSE Documentation Tools

The primary goal of Karlheinz's modifications was to create a class.hxx and class.cxx file (for each class, struct, union included within the original ACE header file) from the ACE *.h header files by collecting the comments from that file and feeding them into the newly created files, but keeping the ACE *.h file untouched.

This helps when making product documentation using commercial documentation tools (e.g., George, doc++, etc.) by feeding in these newly created files with a customizable layout. The modifications are an upgrade to the original OSE-tools, but many bug-fixes are also done for the OSE-tool files (some are listed below).

Incidentally, the classinfo tools in OSE have evolved independently since the copies in ACE were made and they support new features not supported in the ACE version of the tools. Certain subtle changes were also made in the ACE copies for indicating sections, etc., which makes them different from the OSE documentation. For more information please contact Graham Dumpleton, who heads the OSE project.

Karlheinz's extensions make it easy to include new ACE versions into commercial documentations without doing any painful modifications of the deltas within a frozen ACE-version or directly within ACE source files when a new release arises.

The following changes were made to the original OSE tools:


Known Bugs

Some bugs inherited from the original OSE-tools are remaining. So the developer of the *.h files should the following keep in mind: - do not write multiline inheritance!

INCORRECT:


  class x :
        public y
  {
  }
CORRECT:


  class x : public y
  {
  }
- do not write multiline templates!

INCORRECT:


  template <class t,
            class>
  class x 
  {
  }
CORRECT:


  template <class t, class u>
  class x 
  {
  }


Other documentation tools are available at the following URLs:


Back to the ACE home page.