//$Header: /afs/cern.ch/sw/Gaudi/Package/ClassName.h,v 1.31 2000/11/19 16:23:02 author Exp $ #ifndef PACKAGENAME_CLASSNAME_H #define PACKAGENAME_CLASSNAME_H 1 // Include files #include "Package/AnotherClassName.h" #include #include #include // Forward declarations class NeededClass; /** @class ClassName ClassName.h Package/ClassName.h The first sentence is used as a summary description by the documentation tool. The description of a class is expected to be found before the class declaration in the .h file. The code is documented follwing the JavaDoc style. Using the multi-line documentation block or the simple line documentation as is shown in this example. The cvs keyword in the first line of the file will be expanded by the code management tool to include the file path name, revision number, the author and the state. @author Author Name @author Another Name @date 20/11/2000 */ class ClassName : virtual public AnotherClass, virtual public OtherClasses { public: // typedefs and local class declarations typedef std::list ListSvc; typedef std::map MapFactory; /// default creator ClassName(Type1 argument1, Type2 argument2); /// virtual destructor virtual ~ClassName(); /** Description of the method. Again the first sentence is used as a summary by the documentation tool. It is also expected to find comments before the method declaration. */ virtual void method1(); /** Another method with some arguments. The arguments can be documented as normal inline comments @return status code @param argument1 this is the first argument @param argument2 this is the second argument which goes after the first argument */ virtual int method2( Type1 argument1, Type2 argument2 ); /// Yet another method of this class. StatusCode method3(); protected: int m_refcount; ///< Reference counter Type1* m_member2; ///< Pointer to an object of type Type1 Type2& m_member3; ///< Reference to an object of type Type2 }; #endif // PACKAGENAME_CLASSNAME_H