macro-ify
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
#include <stdint.h>
|
||||
#include <ostream>
|
||||
#include "ns3/value.h"
|
||||
#include "ns3/class-value-helper.h"
|
||||
#include "ns3/value-helper.h"
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
@@ -154,8 +154,7 @@ public:
|
||||
*/
|
||||
static uint8_t Register (void);
|
||||
|
||||
Address (PValue value);
|
||||
operator PValue () const;
|
||||
VALUE_HELPER_HEADER_1 (Address);
|
||||
private:
|
||||
friend bool operator == (const Address &a, const Address &b);
|
||||
friend bool operator < (const Address &a, const Address &b);
|
||||
@@ -166,46 +165,15 @@ private:
|
||||
uint8_t m_data[MAX_SIZE];
|
||||
};
|
||||
|
||||
VALUE_HELPER_HEADER_2 (Address);
|
||||
|
||||
bool operator == (const Address &a, const Address &b);
|
||||
bool operator != (const Address &a, const Address &b);
|
||||
bool operator < (const Address &a, const Address &b);
|
||||
std::ostream& operator<< (std::ostream& os, const Address & address);
|
||||
std::istream& operator>> (std::istream& is, Address & address);
|
||||
|
||||
class AddressValue : public Value {};
|
||||
class AddressParamSpec : public ParamSpec {};
|
||||
|
||||
template <typename T1>
|
||||
Ptr<ParamSpec>
|
||||
MakeAddressParamSpec (T1 a1, Address initialValue);
|
||||
|
||||
template <typename T1, typename T2>
|
||||
Ptr<ParamSpec>
|
||||
MakeAddressParamSpec (T1 a1, T2 a2, Address initialValue);
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
template <typename T1>
|
||||
Ptr<ParamSpec>
|
||||
MakeAddressParamSpec (T1 a1, Address initialValue)
|
||||
{
|
||||
return MakeClassValueHelperParamSpec<Address,AddressValue,AddressParamSpec>
|
||||
(a1, initialValue);
|
||||
}
|
||||
|
||||
template <typename T1, typename T2>
|
||||
Ptr<ParamSpec>
|
||||
MakeAddressParamSpec (T1 a1, T2 a2, Address initialValue)
|
||||
{
|
||||
return MakeClassValueHelperParamSpec<Address,AddressValue,AddressParamSpec>
|
||||
(a1, a2, initialValue);
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
|
||||
#endif /* ADDRESS_H */
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
VALUE_HELPER_CPP (Mac48Address);
|
||||
|
||||
#define ASCII_a (0x41)
|
||||
#define ASCII_z (0x5a)
|
||||
#define ASCII_A (0x61)
|
||||
@@ -150,16 +152,6 @@ Mac48Address::GetBroadcast (void)
|
||||
return broadcast;
|
||||
}
|
||||
|
||||
Mac48Address::Mac48Address (PValue value)
|
||||
{
|
||||
*this = ClassValueHelperExtractFrom<Mac48Address,Mac48AddressValue> (value);
|
||||
}
|
||||
Mac48Address::operator PValue () const
|
||||
{
|
||||
return ClassValueHelperConvertTo<Mac48Address,Mac48AddressValue> (this);
|
||||
}
|
||||
|
||||
|
||||
bool operator == (const Mac48Address &a, const Mac48Address &b)
|
||||
{
|
||||
return memcmp (a.m_address, b.m_address, 6) == 0;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <stdint.h>
|
||||
#include <ostream>
|
||||
#include "ns3/value.h"
|
||||
#include "ns3/class-value-helper.h"
|
||||
#include "ns3/value-helper.h"
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
@@ -96,8 +96,7 @@ public:
|
||||
*/
|
||||
static Mac48Address GetBroadcast (void);
|
||||
|
||||
Mac48Address (PValue value);
|
||||
operator PValue () const;
|
||||
VALUE_HELPER_HEADER_1 (Mac48Address);
|
||||
private:
|
||||
/**
|
||||
* \returns a new Address instance
|
||||
@@ -112,41 +111,14 @@ private:
|
||||
uint8_t m_address[6];
|
||||
};
|
||||
|
||||
VALUE_HELPER_HEADER_2 (Mac48Address);
|
||||
|
||||
bool operator == (const Mac48Address &a, const Mac48Address &b);
|
||||
bool operator != (const Mac48Address &a, const Mac48Address &b);
|
||||
bool operator < (const Mac48Address &a, const Mac48Address &b);
|
||||
std::ostream& operator<< (std::ostream& os, const Mac48Address & address);
|
||||
std::istream& operator>> (std::istream& is, const Mac48Address & address);
|
||||
|
||||
class Mac48AddressValue : public Value {};
|
||||
class Mac48AddressParamSpec : public ParamSpec {};
|
||||
|
||||
template <typename T1>
|
||||
Ptr<ParamSpec>
|
||||
MakeMac48AddressParamSpec (T1 a1, Mac48Address address);
|
||||
|
||||
template <typename T1, typename T2>
|
||||
Ptr<ParamSpec>
|
||||
MakeMac48AddressParamSpec (T1 a1, T2 a2, Mac48Address address);
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
template <typename T1>
|
||||
Ptr<ParamSpec>
|
||||
MakeMac48AddressParamSpec (T1 a1, Mac48Address address)
|
||||
{
|
||||
return MakeClassValueHelperParamSpec<Mac48Address,Mac48AddressValue,Mac48AddressParamSpec> (a1, address);
|
||||
}
|
||||
|
||||
template <typename T1, typename T2>
|
||||
Ptr<ParamSpec>
|
||||
MakeMac48AddressParamSpec (T1 a1, T2 a2, Mac48Address address)
|
||||
{
|
||||
return MakeClassValueHelperParamSpec<Mac48Address,Mac48AddressValue,Mac48AddressParamSpec> (a1, a2, address);
|
||||
}
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
#endif /* MAC48_ADDRESS_H */
|
||||
|
||||
Reference in New Issue
Block a user