ATTRIBUTE_HELPER_HEADER是ns3中的一个宏定义,用于声明类类型的属性值、访问器和检查器。
例如:
ATTRIBUTE_HELPER_HEADER (QueueSize);
此宏声明:
- 属性值类typeValue,
- 属性访问器函数MaketypeAccessor,
- AttributeChecker类typeChecker和MaketypeChecker函数,
用于类类型。
官网上的描述如下:
在 QueueSize类中的代码 中这样声明后,就如下所示,使用QueueSizeValue和MakeQueueSizeCheck:
static TypeId tid = TypeId ("ns3::CebinaeQueueDisc")//名字
.SetParent<QueueDisc> ()//父类
.SetGroupName ("TrafficControl")//所属的组
.AddConstructor<CebinaeQueueDisc> ()//默认可调用构造函数
.AddAttribute ("MaxSize",//添加属性:最大尺寸
"The max queue size",//注释,最大队列长度
QueueSizeValue (QueueSize ("1000p")),
MakeQueueSizeAccessor (&QueueDisc::SetMaxSize,
&QueueDisc::GetMaxSize),
MakeQueueSizeChecker ())