Changeset dfed1c for src/base/object.hpp


Ignore:
Timestamp:
Nov 22, 2011, 9:22:10 PM (14 years ago)
Author:
Julian Iseringhausen <isering@…>
Children:
facba0
Parents:
66f24d
Message:

Major vmg update.

git-svn-id: https://svn.version.fz-juelich.de/scafacos/trunk@1136 5161e1c8-67bf-11de-9fd5-51895aff932f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/base/object.hpp

    r66f24d rdfed1c  
    2222  Object() :
    2323    registered(false)
    24   {}
     24  {
     25  }
    2526
    2627  Object(std::string name_) :
     
    2930  {
    3031    ObjectInit();
     32  }
     33
     34  Object(const Object& other) :
     35    name(other.name),
     36    registered(other.registered)
     37  {
    3138  }
    3239
     
    3845  T* Cast()
    3946  {
    40     T* casted = static_cast<T*>(this);
     47    T* casted = dynamic_cast<T*>(this);
    4148    assert(casted != NULL);
    4249    return casted;
     
    5663{
    5764public:
    58   ObjectStorage(const T& val_) :
    59     val(val_)
     65  ObjectStorage(const T& val) :
     66    val(val)
    6067  {}
    6168
    62   ObjectStorage(std::string name_, const T& val_) :
    63     Object(name_),
    64     val(val_)
     69  ObjectStorage(std::string name, const T& val) :
     70    Object(name),
     71    val(val)
    6572  {}
    6673
    6774  T& Val() {return val;}
    6875
    69 private:
     76protected:
    7077  T val;
     78};
     79
     80template <class T>
     81class ObjectStorageArray : public ObjectStorage<T*>
     82{
     83public:
     84  ObjectStorageArray(const vmg_int& size) :
     85    ObjectStorage<T*>(new T[size])
     86  {}
     87
     88  ObjectStorageArray(std::string name, const vmg_int& size) :
     89    ObjectStorage<T*>(name, new T[size])
     90  {}
     91
     92  virtual ~ObjectStorageArray()
     93  {
     94    delete [] this->val;
     95  }
    7196};
    7297
Note: See TracChangeset for help on using the changeset viewer.