00001
00002
00003 #ifndef __ARC_GLUE2ENTITY_H__
00004 #define __ARC_GLUE2ENTITY_H__
00005
00006 #include <arc/Utils.h>
00007
00008 namespace Arc {
00009 template<typename T>
00010 class GLUE2Entity {
00011 public:
00012 GLUE2Entity() : Attributes(new T) {}
00013
00014 T * operator->() { return &(*Attributes); }
00015 T const * const operator->() const { return &(*Attributes); }
00016 T & operator*() { return *Attributes; }
00017 T const & operator*() const { return *Attributes; }
00018
00019 CountedPointer<T> Attributes;
00020 };
00021 }
00022
00023 #endif // __ARC_GLUE2ENTITY_H__