00001 #ifndef __INSTANTIO_REFCTR_H
00002 #define __INSTANTIO_REFCTR_H
00003
00004 #ifdef _MSC_VER
00005 # pragma once
00006 #endif
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "InstantIODef.h"
00027 #include "BasicRefCtr.h"
00028
00029
00030 namespace InstantIO
00031 {
00032
00033
00040 template <class T> class RefCtr: public BasicRefCtr
00041 {
00042 public:
00043
00047 inline RefCtr(): BasicRefCtr(), value_() {}
00048
00053 inline const T &getValue() const { return value_; }
00054
00059 inline T &getValue() { return value_; }
00060
00061 private:
00062
00064 RefCtr(const RefCtr<T> &);
00065
00067 const RefCtr<T> &operator=(const RefCtr<T> &);
00068
00070 T value_;
00071 };
00072
00073
00074 }
00075
00076
00077 #endif // __INSTANTIO_REFCTR_H