VR-Forces 4.0.4 Class Documentation
include/vrvUtil/DtRecordHolder.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtRecordHolder.h,v $ $Revision: 1.6 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #ifndef DtRecordHolder_H_
00014 #define DtRecordHolder_H_
00015 
00016 #include <vrvUtil/vrvUtil.h>
00017 
00018 namespace makVrv
00019 {
00022    class DT_DLL_VRVUTIL DtBaseRecordHolder
00023    {
00024    public:
00025       DtBaseRecordHolder();
00026       virtual ~DtBaseRecordHolder();
00027       virtual DtBaseRecordHolder* clone() const = 0;
00028    };
00029 
00031    template <typename Record>
00032    class DtRecordHolder : public DtBaseRecordHolder
00033    {
00034    public:
00035       DtRecordHolder(const Record& record)
00036       : myRecord(record)
00037       {
00038       }
00039 
00040       DtRecordHolder(const DtRecordHolder<Record>& copy)
00041       : myRecord(copy.myRecord)
00042       {        
00043       }
00044 
00045       virtual ~DtRecordHolder()
00046       {
00047       }
00048 
00049       virtual DtBaseRecordHolder* clone() const
00050       {
00051          return new DtRecordHolder<Record>(*this);
00052       }
00053 
00054       Record& record()
00055       {
00056          return myRecord;
00057       }
00058 
00059       const Record& record() const
00060       {
00061          return myRecord;
00062       }
00063 
00064    protected:
00065 
00066       Record myRecord;
00067    };
00068 }
00069 
00070 #endif
00071 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)