[Doxygen] Files implementing attributes.
--- 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 {
/**