make the code work on g++ 3.4.4
parent
1808ad3c6d
commit
8819fdde7a
|
@ -76,11 +76,13 @@ NsUnknownManager::LookupByName (std::string name)
|
|||
return ClassId (Singleton<CidManager>::Get ()->LookupByName (name));
|
||||
}
|
||||
|
||||
void
|
||||
NsUnknownManager::Register (ClassId classId, CallbackBase *callback)
|
||||
ClassId
|
||||
NsUnknownManager::Register (std::string name, CallbackBase *callback)
|
||||
{
|
||||
ClassId classId = ClassId (name);
|
||||
List *list = Singleton<List>::Get ();
|
||||
list->push_back (std::make_pair (classId, callback));
|
||||
return classId;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -134,27 +134,40 @@ public:
|
|||
* \returns a ClassId which uniquely identifies this constructor.
|
||||
*/
|
||||
template <typename T>
|
||||
static ClassId RegisterConstructor (std::string name);
|
||||
static ClassId RegisterConstructor (std::string name)
|
||||
{
|
||||
static Callback<NsUnknown *> callback =
|
||||
MakeCallback (&NsUnknownManager::MakeObjectZero<T>);
|
||||
return NsUnknownManager::Register (name, &callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* \param name the symbolic name to associate to this
|
||||
* constructor
|
||||
* \returns a ClassId which uniquely identifies this constructor.
|
||||
* \overload ClassIdRegisterConstructor (std::string)
|
||||
* \overload ClassId RegisterConstructor (std::string)
|
||||
*/
|
||||
template <typename T, typename T1>
|
||||
static ClassId RegisterConstructor (std::string name);
|
||||
static ClassId RegisterConstructor (std::string name)
|
||||
{
|
||||
static Callback<NsUnknown *,T1> callback = MakeCallback (&NsUnknownManager::MakeObjectOne<T,T1>);
|
||||
return NsUnknownManager::Register (name, &callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* \param name the symbolic name to associate to this
|
||||
* constructor
|
||||
* \returns a ClassId which uniquely identifies this constructor.
|
||||
* \overload ClassIdRegisterConstructor (std::string)
|
||||
* \overload ClassId RegisterConstructor (std::string)
|
||||
*/
|
||||
template <typename T, typename T1, typename T2>
|
||||
static ClassId RegisterConstructor (std::string name);
|
||||
static ClassId RegisterConstructor (std::string name)
|
||||
{
|
||||
static Callback<NsUnknown *,T1,T2> callback = MakeCallback (&NsUnknownManager::MakeObjectTwo<T,T1,T2>);
|
||||
return NsUnknownManager::Register (name, &callback);
|
||||
}
|
||||
private:
|
||||
static void Register (ClassId classId, CallbackBase *callback);
|
||||
static ClassId Register (std::string name, CallbackBase *callback);
|
||||
|
||||
template <typename T1, typename T2,
|
||||
typename T3, typename T4,
|
||||
|
@ -263,39 +276,6 @@ NsUnknownManager::MakeObjectTwo (T1 a1, T2 a2)
|
|||
return new T (a1, a2);
|
||||
}
|
||||
|
||||
|
||||
template <typename T>
|
||||
ClassId
|
||||
NsUnknownManager::RegisterConstructor (std::string name)
|
||||
{
|
||||
ClassId classId = ClassId (name);
|
||||
static Callback<NsUnknown *> callback = MakeCallback (&NsUnknownManager::MakeObjectZero<T>);
|
||||
NsUnknownManager::Register (classId, &callback);
|
||||
return classId;
|
||||
}
|
||||
|
||||
template <typename T, typename T1>
|
||||
ClassId
|
||||
NsUnknownManager::RegisterConstructor (std::string name)
|
||||
{
|
||||
ClassId classId = ClassId (name);
|
||||
static Callback<NsUnknown *,T1> callback = MakeCallback (&NsUnknownManager::MakeObjectOne<T,T1>);
|
||||
NsUnknownManager::Register (classId, &callback);
|
||||
return classId;
|
||||
}
|
||||
|
||||
template <typename T, typename T1, typename T2>
|
||||
ClassId
|
||||
NsUnknownManager::RegisterConstructor (std::string name)
|
||||
{
|
||||
ClassId classId = ClassId (name);
|
||||
static Callback<NsUnknown *,T1, T2> callback = MakeCallback (&NsUnknownManager::MakeObjectTwo<T,T1, T2>);
|
||||
NsUnknownManager::Register (classId, &callback);
|
||||
return classId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
#endif /* NS_UNKNOWN_MANAGER_H */
|
||||
|
|
Loading…
Reference in New Issue