--- a/src/common/buffer.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/buffer.h Thu May 29 23:24:10 2008 -0700
@@ -36,6 +36,8 @@
namespace ns3 {
/**
+ * \ingroup packet
+ *
* \brief automatically resized byte buffer
*
* This represents a buffer of bytes. Its size is
--- a/src/common/chunk.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/chunk.h Thu May 29 23:24:10 2008 -0700
@@ -6,6 +6,9 @@
namespace ns3 {
+/**
+ * \ingroup packet
+ */
class Chunk : public ObjectBase
{
public:
--- a/src/common/data-rate.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/data-rate.h Thu May 29 23:24:10 2008 -0700
@@ -31,6 +31,9 @@
namespace ns3 {
/**
+ * \ingroup common
+ * \defgroup datarate Data Rate
+ *
* \brief Class for representing data rates
*
* Allows for natural and familiar use of data rates. Allows construction
--- a/src/common/error-model.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/error-model.h Thu May 29 23:24:10 2008 -0700
@@ -30,6 +30,9 @@
class Packet;
/**
+ * \ingroup common
+ * \defgroup errormodel Error Model
+ *
* \brief General error model that can be used to corrupt packets
*
* This object is used to flag packets as being lost/errored or not.
--- a/src/common/header.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/header.h Thu May 29 23:24:10 2008 -0700
@@ -28,6 +28,8 @@
namespace ns3 {
/**
+ * \ingroup Packet
+ *
* \brief Protocol header serialization and deserialization.
*
* Every Protocol header which needs to be inserted or removed
--- a/src/common/packet-metadata.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/packet-metadata.h Thu May 29 23:24:10 2008 -0700
@@ -36,6 +36,7 @@
/**
* \internal
+ * \ingroup packet
* \brief handle packet metadata about packet headers and trailers
*
* This class is used by the Packet class to record every operation
--- a/src/common/packet.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/packet.h Thu May 29 23:24:10 2008 -0700
@@ -96,6 +96,9 @@
};
/**
+ * \ingroup common
+ * \defgroup packet Packet
+ *
* \brief network packets
*
* Each network packet contains a byte buffer, a set of tags, and
--- a/src/common/pcap-writer.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/pcap-writer.h Thu May 29 23:24:10 2008 -0700
@@ -29,6 +29,8 @@
class Packet;
/**
+ * \ingroup common
+ *
* \brief Pcap output for Packet logger
*
* Log Packets to a file in pcap format which can be
--- a/src/common/tag-buffer.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/tag-buffer.h Thu May 29 23:24:10 2008 -0700
@@ -33,6 +33,8 @@
namespace ns3 {
/**
+ * \ingroup packet
+ *
* \brief read and write tag data
*
* This class allows subclasses of the ns3::Tag base class
--- a/src/common/tag-list.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/tag-list.h Thu May 29 23:24:10 2008 -0700
@@ -29,6 +29,8 @@
struct TagListData;
/**
+ * \ingroup packet
+ *
* \brief keep track of the tags stored in a packet.
*
* This class is mostly private to the Packet implementation and users
--- a/src/common/tag.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/tag.h Thu May 29 23:24:10 2008 -0700
@@ -27,6 +27,8 @@
namespace ns3 {
/**
+ * \ingroup packet
+ *
* \brief tag a set of bytes in a packet
*
* New kinds of tags can be created by subclassing this base class.
--- a/src/common/trailer.h Thu May 29 19:09:56 2008 -0700
+++ b/src/common/trailer.h Thu May 29 23:24:10 2008 -0700
@@ -29,6 +29,8 @@
namespace ns3 {
/**
+ * \ingroup packet
+ *
* \brief Protocol trailer serialization and deserialization.
*
* Every Protocol trailer which needs to be inserted or removed
--- a/src/core/assert.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/assert.h Thu May 29 23:24:10 2008 -0700
@@ -28,7 +28,12 @@
/**
* \ingroup core
+ * \defgroup debugging Debugging
+ */
+/**
+ * \ingroup debugging
* \defgroup assert Assert
+ *
* \brief assert functions and macros
*
* The assert macros are used to verify
--- a/src/core/attribute-accessor-helper.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/attribute-accessor-helper.h Thu May 29 23:24:10 2008 -0700
@@ -24,10 +24,16 @@
namespace ns3 {
+/**
+ * \ingroup AttributeHelper
+ */
template <typename V, typename T1>
Ptr<const AttributeAccessor>
MakeAccessorHelper (T1 a1);
+/**
+ * \ingroup AttributeHelper
+ */
template <typename V, typename T1, typename T2>
Ptr<const AttributeAccessor>
MakeAccessorHelper (T1 a1, T2 a2);
--- a/src/core/attribute-list.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/attribute-list.h Thu May 29 23:24:10 2008 -0700
@@ -28,6 +28,8 @@
namespace ns3 {
/**
+ * \ingroup attribute
+ *
* \brief a container of attributes to be used during object's construction
* and in ns3::Object::Set.
*
--- a/src/core/attribute.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/attribute.h Thu May 29 23:24:10 2008 -0700
@@ -33,6 +33,15 @@
class ObjectBase;
/**
+ *
+ * \ingroup core
+ * \defgroup attribute Attribute
+ */
+
+/**
+ *
+ * \ingroup attribute
+ *
* \brief Hold a value for an Attribute.
*
* Instances of this class should always be wrapped into an Attribute object.
@@ -78,6 +87,8 @@
/**
* \brief allow setting and getting the value of an attribute.
*
+ * \ingroup attribute
+ *
* The goal of this class is to hide from the user how an attribute
* is actually set or get to or from a class instance. Implementations
* of this base class are usually provided through the MakeAccessorHelper
@@ -124,6 +135,8 @@
/**
* \brief Represent the type of an attribute
*
+ * \ingroup attribute
+ *
* Each type of attribute has an associated unique AttributeChecker
* subclass. The type of the subclass can be safely used by users
* to infer the type of the associated attribute. i.e., we expect
@@ -180,6 +193,11 @@
};
+/**
+ * \brief A class for an empty attribute value
+ *
+ * \ingroup attribute
+ */
class EmptyAttributeValue : public AttributeValue
{
public:
--- a/src/core/boolean.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/boolean.h Thu May 29 23:24:10 2008 -0700
@@ -26,6 +26,8 @@
namespace ns3 {
/**
+ * \ingroup attribute
+ *
* \brief Hold a bool native type
*
* \anchor bool
--- a/src/core/double.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/double.h Thu May 29 23:24:10 2008 -0700
@@ -27,6 +27,8 @@
namespace ns3 {
/**
+ * \ingroup attribute
+ *
* \class ns3::DoubleValue
* \brief Hold an floating point type
*
--- a/src/core/empty.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/empty.h Thu May 29 23:24:10 2008 -0700
@@ -2,6 +2,9 @@
#define EMPTY_H
namespace ns3 {
+/**
+ * \brief make Callback use a separate empty type
+ */
class empty {};
}
--- a/src/core/enum.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/enum.h Thu May 29 23:24:10 2008 -0700
@@ -27,6 +27,8 @@
namespace ns3 {
/**
+ * \ingroup attribute
+ *
* \brief hold variables of type 'enum'
*
* This class can be used to hold variables of any kind
--- a/src/core/fatal-error.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/fatal-error.h Thu May 29 23:24:10 2008 -0700
@@ -24,8 +24,7 @@
#include <iostream>
/**
- * \ingroup core
- * \defgroup error Error
+ * \ingroup debugging
* \brief fatal error handling
*
* \param msg message to output when this macro is hit.
--- a/src/core/global-value.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/global-value.h Thu May 29 23:24:10 2008 -0700
@@ -29,6 +29,8 @@
namespace ns3 {
/**
+ * \ingroup Core
+ *
* \brief hold a so-called 'global value'.
*
* Instances of this class are expected to be allocated as static
--- a/src/core/integer.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/integer.h Thu May 29 23:24:10 2008 -0700
@@ -27,6 +27,7 @@
namespace ns3 {
/**
+ * \ingroup attribute
* \class ns3::IntegerValue
* \brief Hold a signed integer type
*
--- a/src/core/log.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/log.h Thu May 29 23:24:10 2008 -0700
@@ -28,7 +28,7 @@
/**
- * \ingroup core
+ * \ingroup debugging
* \defgroup logging Logging
* \brief Logging functions and macros
*
--- a/src/core/object-base.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/object-base.h Thu May 29 23:24:10 2008 -0700
@@ -42,6 +42,8 @@
class AttributeList;
/**
+ * \ingroup object
+ *
* \brief implement the ns-3 type and attribute system
*
* Every class which wants to integrate in the ns-3 type and attribute
--- a/src/core/object-factory.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/object-factory.h Thu May 29 23:24:10 2008 -0700
@@ -29,6 +29,8 @@
class AttributeValue;
/**
+ * \ingroup object
+ *
* \brief instantiate subclasses of ns3::Object.
*
* This class can also hold a set of attributes to set
--- a/src/core/object-vector.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/object-vector.h Thu May 29 23:24:10 2008 -0700
@@ -9,6 +9,8 @@
namespace ns3 {
/**
+ * \ingroup object
+ *
* \brief contain a vector of ns3::Object pointers.
*
* This class it used to get attribute access to an array of
--- a/src/core/object.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/object.h Thu May 29 23:24:10 2008 -0700
@@ -39,6 +39,11 @@
class TraceSourceAccessor;
/**
+ * \ingroup core
+ * \defgroup object Object
+ */
+/**
+ * \ingroup object
* \brief a base class which provides memory management and object aggregation
*
*/
--- a/src/core/pointer.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/pointer.h Thu May 29 23:24:10 2008 -0700
@@ -26,6 +26,8 @@
namespace ns3 {
/**
+ * \ingroup attribute
+ *
* \brief hold objects of type Ptr<T>
*/
class PointerValue : public AttributeValue
--- a/src/core/ptr.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/ptr.h Thu May 29 23:24:10 2008 -0700
@@ -28,6 +28,12 @@
namespace ns3 {
/**
+ * \ingroup core
+ * \defgroup ptr Smart Pointer
+ */
+/**
+ * \ingroup ptr
+ *
* \brief smart pointer class similar to boost::intrusive_ptr
*
* This smart-pointer class assumes that the underlying
--- a/src/core/string.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/string.h Thu May 29 23:24:10 2008 -0700
@@ -7,6 +7,8 @@
namespace ns3 {
/**
+ * \ingroup attribute
+ *
* \class ns3::StringValue
* \brief hold variables of type string
*
--- a/src/core/test.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/test.h Thu May 29 23:24:10 2008 -0700
@@ -33,6 +33,12 @@
class TestManager;
/**
+ * \ingroup core
+ * \defgroup test Test
+ */
+/**
+ * \ingroup test
+ *
* \brief base class for new regressions tests
*
* To add a new regression test, you need to:
@@ -65,6 +71,8 @@
};
/**
+ * \ingroup test
+ *
* \brief gather and run all regression tests
*/
class TestManager {
--- a/src/core/trace-source-accessor.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/trace-source-accessor.h Thu May 29 23:24:10 2008 -0700
@@ -29,6 +29,8 @@
class ObjectBase;
/**
+ * \ingroup tracing
+ *
* \brief control access to objects' trace sources
*
* This class abstracts the kind of trace source to which we want to connect
--- a/src/core/traced-value.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/traced-value.h Thu May 29 23:24:10 2008 -0700
@@ -32,6 +32,13 @@
namespace ns3 {
/**
+ * \ingroup core
+ * \defgroup tracing Tracing
+ */
+
+/**
+ * \ingroup tracing
+ *
* \brief trace classes with value semantics
*
* If you want to trace the change of value of a class or
--- a/src/core/uinteger.h Thu May 29 19:09:56 2008 -0700
+++ b/src/core/uinteger.h Thu May 29 23:24:10 2008 -0700
@@ -27,6 +27,8 @@
namespace ns3 {
/**
+ * \ingroup attribute
+ *
* \class ns3::UintegerValue
* \brief Hold an unsigned integer type
*
--- a/src/simulator/event-impl.h Thu May 29 19:09:56 2008 -0700
+++ b/src/simulator/event-impl.h Thu May 29 23:24:10 2008 -0700
@@ -24,6 +24,9 @@
namespace ns3 {
+/**
+ * \ingroup simulator
+ */
class EventImpl
{
public:
--- a/src/simulator/heap-scheduler.h Thu May 29 19:09:56 2008 -0700
+++ b/src/simulator/heap-scheduler.h Thu May 29 23:24:10 2008 -0700
@@ -29,6 +29,9 @@
class EventHolder;
+/**
+ * \ingroup scheduler
+ */
class HeapScheduler : public Scheduler {
public:
HeapScheduler ();
--- a/src/simulator/list-scheduler.h Thu May 29 19:09:56 2008 -0700
+++ b/src/simulator/list-scheduler.h Thu May 29 23:24:10 2008 -0700
@@ -31,6 +31,9 @@
class EventImpl;
+/**
+ * \ingroup scheduler
+ */
class ListScheduler : public Scheduler {
public:
ListScheduler ();
--- a/src/simulator/map-scheduler.h Thu May 29 19:09:56 2008 -0700
+++ b/src/simulator/map-scheduler.h Thu May 29 23:24:10 2008 -0700
@@ -30,6 +30,9 @@
class EventImpl;
+/**
+ * \ingroup scheduler
+ */
class MapScheduler : public Scheduler {
public:
MapScheduler ();
--- a/src/simulator/nstime.h Thu May 29 19:09:56 2008 -0700
+++ b/src/simulator/nstime.h Thu May 29 23:24:10 2008 -0700
@@ -60,6 +60,9 @@
/**
+ * \ingroup simulator
+ * \defgroup time Time
+ *
* \brief keep track of time unit.
*
* This template class is used to keep track of the value
--- a/src/simulator/scheduler.h Thu May 29 19:09:56 2008 -0700
+++ b/src/simulator/scheduler.h Thu May 29 23:24:10 2008 -0700
@@ -28,6 +28,9 @@
namespace ns3 {
/**
+ * \ingroup simulator
+ * \defgroup scheduler Scheduler
+ *
* \brief Maintain the event list
*
* This base class specifies the interface used to maintain the
--- a/src/simulator/simulator.h Thu May 29 19:09:56 2008 -0700
+++ b/src/simulator/simulator.h Thu May 29 23:24:10 2008 -0700
@@ -35,6 +35,8 @@
class SchedulerFactory;
/**
+ * \ingroup simulator
+ *
* \brief Control the scheduling of simulation events.
*
* The internal simulation clock is maintained
--- a/src/simulator/timer.h Thu May 29 19:09:56 2008 -0700
+++ b/src/simulator/timer.h Thu May 29 23:24:10 2008 -0700
@@ -30,6 +30,8 @@
class TimerImpl;
/**
+ * \ingroup simulator
+ *
* \brief a simple Timer class
*
* A timer is used to hold together a delay, a function to invoke
--- a/src/simulator/watchdog.h Thu May 29 19:09:56 2008 -0700
+++ b/src/simulator/watchdog.h Thu May 29 23:24:10 2008 -0700
@@ -27,6 +27,9 @@
class TimerImpl;
+/**
+ * \ingroup simulator
+ */
class Watchdog
{
public: