src/core/object.h
changeset 2592 3ebf97150166
parent 2591 83a605082fb6
child 2593 5f22033d1408
--- a/src/core/object.h	Tue Mar 11 11:35:26 2008 -0700
+++ b/src/core/object.h	Tue Mar 11 13:30:12 2008 -0700
@@ -507,24 +507,6 @@
   template <typename T>
   friend Ptr<T> CreateObject (const AttributeList &attributes);
 
-  template <typename T>
-  friend Ptr<T> CreateObject (void);
-  template <typename T, typename T1>
-  friend Ptr<T> CreateObject (T1 a1);
-  template <typename T, typename T1, typename T2>
-  friend Ptr<T> CreateObject (T1 a1, T2 a2);
-  template <typename T, typename T1, typename T2, typename T3>
-  friend Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3);
-  template <typename T, typename T1, typename T2, typename T3, typename T4>
-  friend Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3, T4 a4);
-  template <typename T, typename T1, typename T2, typename T3, typename T4, typename T5>
-  friend Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
-  template <typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
-  friend Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6);
-  template <typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
-  friend Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7);
-
-
   bool DoSet (Ptr<const AttributeAccessor> spec, Attribute intialValue, 
               Ptr<const AttributeChecker> checker, Attribute value);
   Ptr<Object> DoGetObject (TypeId tid) const;
@@ -671,84 +653,17 @@
 }
 
 template <typename T>
-Ptr<T> CreateObject (void)
-{
-  Ptr<T> p = Ptr<T> (new T (), false);
-  p->SetTypeId (T::GetTypeId ());
-  p->Object::Construct (AttributeList ());
-  return p;
-}
-
-template <typename T, typename T1>
-Ptr<T> CreateObject (T1 a1)
-{
-  Ptr<T> p = Ptr<T> (new T (a1), false);
-  p->SetTypeId (T::GetTypeId ());
-  p->Object::Construct (AttributeList ());
-  return p;
-}
-
-template <typename T, typename T1, typename T2>
-Ptr<T> CreateObject (T1 a1, T2 a2)
-{
-  Ptr<T> p = Ptr<T> (new T (a1, a2), false);
-  p->SetTypeId (T::GetTypeId ());
-  p->Object::Construct (AttributeList ());
-  return p;
-}
-template <typename T, typename T1, typename T2, typename T3>
-Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3)
-{
-  Ptr<T> p = Ptr<T> (new T (a1, a2, a3), false);
-  p->SetTypeId (T::GetTypeId ());
-  return p;
-}
-
-template <typename T, typename T1, typename T2, typename T3, typename T4>
-Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3, T4 a4)
-{
-  Ptr<T> p = Ptr<T> (new T (a1, a2, a3, a4), false);
-  p->SetTypeId (T::GetTypeId ());
-  return p;
-}
-
-template <typename T, typename T1, typename T2, typename T3, typename T4, typename T5>
-Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
-{
-  Ptr<T> p = Ptr<T> (new T (a1, a2, a3, a4, a5), false);
-  p->SetTypeId (T::GetTypeId ());
-  return p;
-}
-
-template <typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
-Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
-{
-  Ptr<T> p = Ptr<T> (new T (a1, a2, a3, a4, a5, a6), false);
-  p->SetTypeId (T::GetTypeId ());
-  return p;
-}
-
-template <typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
-Ptr<T> CreateObject (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
-{
-  Ptr<T> p = Ptr<T> (new T (a1, a2, a3, a4, a5, a6, a7), false);
-  p->SetTypeId (T::GetTypeId ());
-  return p;
-}
-
-
-template <typename T>
 Ptr<T> 
-CreateObjectWith (std::string n1 = "", Attribute v1 = Attribute (),
-                  std::string n2 = "", Attribute v2 = Attribute (),
-                  std::string n3 = "", Attribute v3 = Attribute (),
-                  std::string n4 = "", Attribute v4 = Attribute (),
-                  std::string n5 = "", Attribute v5 = Attribute (),
-                  std::string n6 = "", Attribute v6 = Attribute (),
-                  std::string n7 = "", Attribute v7 = Attribute (),
-                  std::string n8 = "", Attribute v8 = Attribute (),
-                  std::string n9 = "", Attribute v9 = Attribute ())
-              
+CreateObject (std::string n1 = "", Attribute v1 = Attribute (),
+              std::string n2 = "", Attribute v2 = Attribute (),
+              std::string n3 = "", Attribute v3 = Attribute (),
+              std::string n4 = "", Attribute v4 = Attribute (),
+              std::string n5 = "", Attribute v5 = Attribute (),
+              std::string n6 = "", Attribute v6 = Attribute (),
+              std::string n7 = "", Attribute v7 = Attribute (),
+              std::string n8 = "", Attribute v8 = Attribute (),
+              std::string n9 = "", Attribute v9 = Attribute ())
+  
 {
   AttributeList attributes;
   if (n1 == "")