[Doxygen] Files implementing attributes.
authorPeter D. Barnes, Jr. <barnes26@llnl.gov>
Wed, 07 Jan 2015 15:43:53 -0800
changeset 11136 03bf8fa63bda
parent 11135 f503e414d773
child 11137 d1b13a026b41
[Doxygen] Files implementing attributes.
src/core/model/attribute-accessor-helper.h
src/core/model/attribute-construction-list.cc
src/core/model/attribute-construction-list.h
src/core/model/attribute-helper.h
src/core/model/attribute.cc
src/core/model/attribute.h
src/core/model/boolean.cc
src/core/model/boolean.h
src/core/model/double.cc
src/core/model/double.h
src/core/model/enum.cc
src/core/model/enum.h
src/core/model/integer.cc
src/core/model/integer.h
src/core/model/object-map.h
src/core/model/object-ptr-container.cc
src/core/model/object-ptr-container.h
src/core/model/object-vector.h
src/core/model/pointer.cc
src/core/model/pointer.h
src/core/model/string.cc
src/core/model/string.h
src/core/model/type-name.cc
src/core/model/type-name.h
src/core/model/uinteger.cc
src/core/model/uinteger.h
src/core/model/vector.cc
src/core/model/vector.h
--- a/src/core/model/attribute-accessor-helper.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/attribute-accessor-helper.h	Wed Jan 07 15:43:53 2015 -0800
@@ -22,6 +22,12 @@
 
 #include "attribute.h"
 
+/**
+ * \file
+ * \ingroup attributeimpl
+ * ns3::MakeAccessorHelper declarations and template implementations.
+ */
+
 namespace ns3 {
 
   
--- a/src/core/model/attribute-construction-list.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/attribute-construction-list.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -20,6 +20,12 @@
 #include "attribute-construction-list.h"
 #include "log.h"
 
+/**
+ * \file
+ * \ingroup object
+ * ns3::AttributeConstructionList implementation.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE("AttributeConstructionList");
--- a/src/core/model/attribute-construction-list.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/attribute-construction-list.h	Wed Jan 07 15:43:53 2015 -0800
@@ -23,6 +23,12 @@
 #include "attribute.h"
 #include <list>
 
+/**
+ * \file
+ * \ingroup object
+ * ns3::AttributeConstructionList declaration.
+ */
+
 namespace ns3 {
 
 /**
--- a/src/core/model/attribute-helper.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/attribute-helper.h	Wed Jan 07 15:43:53 2015 -0800
@@ -25,6 +25,12 @@
 #include <sstream>
 #include "fatal-error.h"
 
+/**
+ * \file
+ * \ingroup attributehelper
+ * Declaration of Attribute helper macros.
+ */
+
 namespace ns3 {
 
 /**
--- a/src/core/model/attribute.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/attribute.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -23,6 +23,13 @@
 #include "string.h"
 #include <sstream>
 
+/**
+ * \file
+ * \ingroup attribute
+ * ns3::AttributeValue, ns3::AttributeAccessor and
+ * ns3::AttributeChecker implementations.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE ("AttributeValue");
--- a/src/core/model/attribute.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/attribute.h	Wed Jan 07 15:43:53 2015 -0800
@@ -25,6 +25,13 @@
 #include "ptr.h"
 #include "simple-ref-count.h"
 
+/**
+ * \file
+ * \ingroup attribute
+ * ns3::AttributeValue, ns3::AttributeAccessor and
+ * ns3::AttributeChecker declarations.
+ */
+
 namespace ns3 {
 
 class AttributeAccessor;
@@ -219,7 +226,11 @@
   
 };
 
-/** A class for an empty attribute value. */
+/**
+ * \brief A class for an empty attribute value.
+ *
+ * \ingroup attribute
+ */
 class EmptyAttributeValue : public AttributeValue
 {
 public:
--- a/src/core/model/boolean.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/boolean.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -21,6 +21,12 @@
 #include "fatal-error.h"
 #include "log.h"
 
+/**
+ * \file
+ * \ingroup attribute_Boolean
+ * Boolean attribute value implementaations.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE ("Boolean");
--- a/src/core/model/boolean.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/boolean.h	Wed Jan 07 15:43:53 2015 -0800
@@ -23,6 +23,12 @@
 #include "attribute.h"
 #include "attribute-helper.h"
 
+/**
+ * \file
+ * \ingroup attribute_Boolean
+ * Boolean attribute value declarations.
+ */
+
 namespace ns3 {
 
 class BooleanValue : public AttributeValue
--- a/src/core/model/double.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/double.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -22,14 +22,30 @@
 #include "log.h"
 #include <sstream>
 
+/**
+ * \file
+ * \ingroup attribute_Double
+ * Double attribute value implementations.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE ("Double");
 
 ATTRIBUTE_VALUE_IMPLEMENT_WITH_NAME (double, Double);
 
+/** Namespace for implementation details. */
 namespace internal {
 
+/**
+ * \ingroup attribute_Double
+ * Make a Double attribute checker with embedded numeric type name.
+ *
+ * \param min The minimum allowed value.
+ * \param max The maximum allowed value.
+ * \param name The original type name ("float", "double").
+ * \returns The AttributeChecker.
+ */
 Ptr<const AttributeChecker> MakeDoubleChecker (double min, double max, std::string name)
 {
   NS_LOG_FUNCTION (min << max << name);
--- a/src/core/model/double.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/double.h	Wed Jan 07 15:43:53 2015 -0800
@@ -25,6 +25,12 @@
 #include <stdint.h>
 #include <limits>
 
+/**
+ * \file
+ * \ingroup attribute_Double
+ * Double attribute value declarations and template implementations.
+ */
+
 namespace ns3 {
 
 //  Additional docs for class DoubleValue:
@@ -66,6 +72,11 @@
 
 } // namespace ns3
 
+
+/***************************************************************
+ *  Implementation of the templates declared above.
+ ***************************************************************/
+
 #include "type-name.h"
 
 namespace ns3 {
--- a/src/core/model/enum.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/enum.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -22,6 +22,12 @@
 #include "log.h"
 #include <sstream>
 
+/**
+ * \file
+ * \ingroup attribute_Enum
+ * Enum attribute value implementations.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE ("Enum");
--- a/src/core/model/enum.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/enum.h	Wed Jan 07 15:43:53 2015 -0800
@@ -24,9 +24,15 @@
 #include "attribute-accessor-helper.h"
 #include <list>
 
+/**
+ * \file
+ * \ingroup attribute_Enum
+ * Enum attribute value declarations.
+ */
+
 namespace ns3 {
 
-//  Additional docs for class DoubleValue:
+//  Additional docs for class EnumValue:
 /**
  * Hold variables of type \c enum
  *
--- a/src/core/model/integer.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/integer.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -22,6 +22,12 @@
 #include "log.h"
 #include <sstream>
 
+/**
+ * \file
+ * \ingroup attribute_Integer
+ * Integer attribute value implementations.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE ("Integer");
@@ -30,6 +36,15 @@
 
 namespace internal {
 
+/**
+ * \ingroup attribute_Integer
+ * Make an Integer attribute checker with embedded numeric type name.
+ *
+ * \param min The minimum allowed value.
+ * \param max The maximum allowed value.
+ * \param name The original type name ("int8_t", "int16_t", _etc_.).
+ * \returns The AttributeChecker.
+ */
 Ptr<const AttributeChecker>
 MakeIntegerChecker (int64_t min, int64_t max, std::string name)
 {
--- a/src/core/model/integer.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/integer.h	Wed Jan 07 15:43:53 2015 -0800
@@ -25,9 +25,15 @@
 #include <stdint.h>
 #include <limits>
 
+/**
+ * \file
+ * \ingroup attribute_Integer
+ * Integer attribute value declarations and template implementations.
+ */
+
 namespace ns3 {
 
-//  Additional docs for class DoubleValue:
+//  Additional docs for class IntegerValue:
 /**
  * Hold a signed integer type
  *
@@ -68,6 +74,11 @@
 
 } // namespace ns3
 
+
+/***************************************************************
+ *  Implementation of the templates declared above.
+ ***************************************************************/
+
 #include "type-name.h"
 
 namespace ns3 {
--- a/src/core/model/object-map.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/object-map.h	Wed Jan 07 15:43:53 2015 -0800
@@ -25,6 +25,12 @@
 #include "attribute.h"
 #include "object-ptr-container.h"
 
+/**
+ * \file
+ * \ingroup attribute_ObjectMap
+ * ObjectMap attribute value declarations and template implementations.
+ */
+
 namespace ns3 {
 
 /**
--- a/src/core/model/object-ptr-container.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/object-ptr-container.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -20,6 +20,12 @@
 #include "object-ptr-container.h"
 #include "log.h"
 
+/**
+ * \file
+ * \ingroup attribute_ObjectPtrContainer
+ * ObjectPtrContainer attribute value implementation.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE ("ObjectPtrContainer");
--- a/src/core/model/object-ptr-container.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/object-ptr-container.h	Wed Jan 07 15:43:53 2015 -0800
@@ -25,6 +25,13 @@
 #include "ptr.h"
 #include "attribute.h"
 
+/**
+ * \file
+ * \ingroup attribute_ObjectPtrContainer
+ * ObjectPtrContainer attribute value declarations and template implementations.
+ */
+
+
 namespace ns3 {
 
 /**
--- a/src/core/model/object-vector.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/object-vector.h	Wed Jan 07 15:43:53 2015 -0800
@@ -25,6 +25,12 @@
 #include "attribute.h"
 #include "object-ptr-container.h"
 
+/**
+ * \file
+ * \ingroup attribute_ObjectVector
+ * ObjectVector attribute value declarations and template implementations.
+ */
+
 namespace ns3 {
 
 /**
--- a/src/core/model/pointer.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/pointer.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -22,6 +22,12 @@
 #include "log.h"
 #include <sstream>
 
+/**
+ * \file
+ * \ingroup attribute_Pointer
+ * Pointer attribute value implementations.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE ("Pointer");
--- a/src/core/model/pointer.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/pointer.h	Wed Jan 07 15:43:53 2015 -0800
@@ -23,6 +23,12 @@
 #include "attribute.h"
 #include "object.h"
 
+/**
+ * \file
+ * \ingroup attribute_Pointer
+ * Pointer attribute value declarations and template implementations.
+ */
+
 namespace ns3 {
 
 //  Additional docs for class PointerValue:
@@ -99,9 +105,14 @@
 
 } // namespace ns3
 
+
+
+/***************************************************************
+ *  Implementation of the templates declared above.
+ ***************************************************************/
+
 namespace ns3 {
 
-
 namespace internal {
 
 /** PointerChecker implementation. */
--- a/src/core/model/string.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/string.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -19,6 +19,12 @@
 
 #include "string.h"
 
+/**
+ * \file
+ * \ingroup attribute_String
+ * String attribute value implementations.
+ */
+
 namespace ns3 {
 
 ATTRIBUTE_CHECKER_IMPLEMENT_WITH_NAME (String, "std::string");
--- a/src/core/model/string.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/string.h	Wed Jan 07 15:43:53 2015 -0800
@@ -23,9 +23,15 @@
 #include <string>
 #include "attribute-helper.h"
 
+/**
+ * \file
+ * \ingroup attribute_String
+ * String attribute value declarations.
+ */
+
 namespace ns3 {
 
-//  Additional docs for class DoubleValue:
+//  Additional docs for class StringValue:
 /**
  * Hold variables of type string
  *
--- a/src/core/model/type-name.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/type-name.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -19,6 +19,12 @@
 
 #include "type-name.h"
 
+/**
+ * \file
+ * \ingroup attributeimpl
+ * ns3::TypeNameGet() function implementations.
+ */
+
 namespace ns3 {
 
 template <> std::string TypeNameGet< int8_t  > (void) { return "int8_t"  ; }
--- a/src/core/model/type-name.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/type-name.h	Wed Jan 07 15:43:53 2015 -0800
@@ -23,6 +23,12 @@
 #include <stdint.h>
 #include <string>
 
+/**
+ * \file
+ * \ingroup attributeimpl
+ * ns3::TypeNameGet() function declarations.
+ */
+
 namespace ns3 {
 
 /**
--- a/src/core/model/uinteger.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/uinteger.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -22,6 +22,12 @@
 #include "log.h"
 #include <sstream>
 
+/**
+ * \file
+ * \ingroup attribute_Uinteger
+ * Uinteger attribute value implementations.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE ("Uinteger");
@@ -30,6 +36,15 @@
 
 namespace internal {
 
+/**
+ * \ingroup attribute_Uinteger
+ * Make an Uinteger attribute checker with embedded numeric type name.
+ *
+ * \param min The minimum allowed value.
+ * \param max The maximum allowed value.
+ * \param name The original type name ("uint8_t", "uint16_t", _etc_.).
+ * \returns The AttributeChecker.
+ */
 Ptr<const AttributeChecker> MakeUintegerChecker (uint64_t min, uint64_t max, std::string name)
 {
   NS_LOG_FUNCTION (min << max << name);
--- a/src/core/model/uinteger.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/uinteger.h	Wed Jan 07 15:43:53 2015 -0800
@@ -25,9 +25,15 @@
 #include <stdint.h>
 #include <limits>
 
+/**
+ * \file
+ * \ingroup attribute_Uinteger
+ * Unsigned integer attribute value declarations and template implementations.
+ */
+
 namespace ns3 {
 
-//  Additional docs for class DoubleValue:
+//  Additional docs for class UintegerValue:
 /**
  * Hold an unsigned integer type.
  *
@@ -69,6 +75,11 @@
 
 } // namespace ns3
 
+
+/***************************************************************
+ *  Implementation of the templates declared above.
+ ***************************************************************/
+
 #include "type-name.h"
 
 namespace ns3 {
--- a/src/core/model/vector.cc	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/vector.cc	Wed Jan 07 15:43:53 2015 -0800
@@ -23,6 +23,12 @@
 #include <cmath>
 #include <sstream>
 
+/**
+ * \file
+ * \ingroup attribute_Vector
+ * ns3::Vector, ns3::Vector2D and ns3::Vector3D attribute value implementations.
+ */
+
 namespace ns3 {
 
 NS_LOG_COMPONENT_DEFINE ("Vector");
--- a/src/core/model/vector.h	Wed Jan 07 15:41:00 2015 -0800
+++ b/src/core/model/vector.h	Wed Jan 07 15:43:53 2015 -0800
@@ -23,6 +23,12 @@
 #include "attribute.h"
 #include "attribute-helper.h"
 
+/**
+ * \file
+ * \ingroup attribute_Vector
+ * ns3::Vector, ns3::Vector2D and ns3::Vector3D attribute value declarations.
+ */
+
 namespace ns3 {
 
 /**