SharedTypes.h

Go to the documentation of this file.
00001 /*
00002 // $Id: //open/dev/fennel/common/SharedTypes.h#31 $
00003 // Fennel is a library of data storage and processing components.
00004 // Copyright (C) 2005-2009 The Eigenbase Project
00005 // Copyright (C) 2003-2009 SQLstream, Inc.
00006 // Copyright (C) 2005-2009 LucidEra, Inc.
00007 // Portions Copyright (C) 1999-2009 John V. Sichi
00008 //
00009 // This program is free software; you can redistribute it and/or modify it
00010 // under the terms of the GNU General Public License as published by the Free
00011 // Software Foundation; either version 2 of the License, or (at your option)
00012 // any later version approved by The Eigenbase Project.
00013 //
00014 // This program is distributed in the hope that it will be useful,
00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 // GNU General Public License for more details.
00018 //
00019 // You should have received a copy of the GNU General Public License
00020 // along with this program; if not, write to the Free Software
00021 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 */
00023 
00024 #ifndef Fennel_SharedTypes_Included
00025 #define Fennel_SharedTypes_Included
00026 
00027 #include <boost/shared_ptr.hpp>
00028 #include <boost/weak_ptr.hpp>
00029 
00030 FENNEL_BEGIN_NAMESPACE
00031 
00032 // shared_ptr declarations to ease usage of handle/body pattern
00033 
00034 class RandomAccessDevice;
00035 typedef boost::shared_ptr<RandomAccessDevice> SharedRandomAccessDevice;
00036 
00037 class Cache;
00038 typedef boost::shared_ptr<Cache> SharedCache;
00039 
00040 class CacheAccessor;
00041 typedef boost::shared_ptr<CacheAccessor> SharedCacheAccessor;
00042 
00043 class Segment;
00044 typedef boost::shared_ptr<Segment> SharedSegment;
00045 typedef boost::weak_ptr<Segment> WeakSegment;
00046 
00047 class SegmentAccessor;
00048 typedef boost::shared_ptr<SegmentAccessor> SharedSegmentAccessor;
00049 
00050 class SegmentFactory;
00051 typedef boost::shared_ptr<SegmentFactory> SharedSegmentFactory;
00052 
00053 class SegmentMap;
00054 typedef boost::shared_ptr<SegmentMap> SharedSegmentMap;
00055 
00056 class ByteOutputStream;
00057 typedef boost::shared_ptr<ByteOutputStream> SharedByteOutputStream;
00058 
00059 class ByteInputStream;
00060 typedef boost::shared_ptr<ByteInputStream> SharedByteInputStream;
00061 
00062 class ByteStreamMarker;
00063 typedef boost::shared_ptr<ByteStreamMarker> SharedByteStreamMarker;
00064 
00065 class ByteArrayOutputStream;
00066 typedef boost::shared_ptr<ByteArrayOutputStream> SharedByteArrayOutputStream;
00067 
00068 class ByteArrayInputStream;
00069 typedef boost::shared_ptr<ByteArrayInputStream> SharedByteArrayInputStream;
00070 
00071 class SegPageBackupRestoreDevice;
00072 typedef boost::shared_ptr<SegPageBackupRestoreDevice>
00073     SharedSegPageBackupRestoreDevice;
00074 typedef boost::weak_ptr<SegPageBackupRestoreDevice>
00075     WeakSegPageBackupRestoreDevice;
00076 
00077 class StatsSource;
00078 typedef boost::shared_ptr<StatsSource> SharedStatsSource;
00079 
00080 class StatsTarget;
00081 typedef boost::shared_ptr<StatsTarget> SharedStatsTarget;
00082 
00083 class SegOutputStream;
00084 typedef boost::shared_ptr<SegOutputStream> SharedSegOutputStream;
00085 
00086 class SegInputStream;
00087 typedef boost::shared_ptr<SegInputStream> SharedSegInputStream;
00088 
00089 class SegStreamAllocation;
00090 typedef boost::shared_ptr<SegStreamAllocation> SharedSegStreamAllocation;
00091 
00092 class SpillOutputStream;
00093 typedef boost::shared_ptr<SpillOutputStream> SharedSpillOutputStream;
00094 
00095 class CheckpointProvider;
00096 typedef boost::shared_ptr<CheckpointProvider> SharedCheckpointProvider;
00097 
00098 class LogicalTxn;
00099 typedef boost::shared_ptr<LogicalTxn> SharedLogicalTxn;
00100 
00101 class LogicalTxnLog;
00102 typedef boost::shared_ptr<LogicalTxnLog> SharedLogicalTxnLog;
00103 
00104 class LogicalRecoveryLog;
00105 typedef boost::shared_ptr<LogicalRecoveryLog> SharedLogicalRecoveryLog;
00106 
00107 class LogicalTxnParticipant;
00108 typedef boost::shared_ptr<LogicalTxnParticipant> SharedLogicalTxnParticipant;
00109 
00110 class BTreeAccessBase;
00111 typedef boost::shared_ptr<BTreeAccessBase> SharedBTreeAccessBase;
00112 
00113 class BTreeReader;
00114 typedef boost::shared_ptr<BTreeReader> SharedBTreeReader;
00115 
00116 class BTreeNonLeafReader;
00117 typedef boost::shared_ptr<BTreeNonLeafReader> SharedBTreeNonLeafReader;
00118 
00119 class BTreeLeafReader;
00120 typedef boost::shared_ptr<BTreeLeafReader> SharedBTreeLeafReader;
00121 
00122 class BTreeWriter;
00123 typedef boost::shared_ptr<BTreeWriter> SharedBTreeWriter;
00124 
00125 class BTreeVerifier;
00126 typedef boost::shared_ptr<BTreeVerifier> SharedBTreeVerifier;
00127 
00128 class BTreeBuilder;
00129 typedef boost::shared_ptr<BTreeBuilder> SharedBTreeBuilder;
00130 
00131 class BTreeRecoveryFactory;
00132 typedef boost::shared_ptr<BTreeRecoveryFactory> SharedBTreeRecoveryFactory;
00133 
00134 class Database;
00135 typedef boost::shared_ptr<Database> SharedDatabase;
00136 
00137 class PseudoUuidGenerator;
00138 typedef boost::shared_ptr<PseudoUuidGenerator> SharedPseudoUuidGenerator;
00139 
00140 class TraceTarget;
00141 typedef boost::shared_ptr<TraceTarget> SharedTraceTarget;
00142 
00143 class ErrorTarget;
00144 typedef boost::shared_ptr<ErrorTarget> SharedErrorTarget;
00145 
00146 class CheckpointThread;
00147 typedef boost::shared_ptr<CheckpointThread> SharedCheckpointThread;
00148 
00149 class ExecStream;
00150 typedef boost::shared_ptr<ExecStream> SharedExecStream;
00151 
00152 class ExecStreamEmbryo;
00153 typedef boost::shared_ptr<ExecStreamEmbryo> SharedExecStreamEmbryo;
00154 
00155 class ExecStreamBufAccessor;
00156 typedef boost::shared_ptr<ExecStreamBufAccessor> SharedExecStreamBufAccessor;
00157 
00158 class ExecStreamScheduler;
00159 typedef boost::shared_ptr<ExecStreamScheduler> SharedExecStreamScheduler;
00160 
00161 class ExecStreamParams;
00162 typedef boost::shared_ptr<ExecStreamParams> SharedExecStreamParams;
00163 
00164 class ExecStreamGraph;
00165 typedef boost::shared_ptr<ExecStreamGraph> SharedExecStreamGraph;
00166 
00167 class ExecStreamGraphEmbryo;
00168 typedef boost::shared_ptr<ExecStreamGraphEmbryo> SharedExecStreamGraphEmbryo;
00169 
00170 class ExecStreamFactory;
00171 typedef boost::shared_ptr<ExecStreamFactory> SharedExecStreamFactory;
00172 
00173 class ExecStreamSubFactory;
00174 typedef boost::shared_ptr<ExecStreamSubFactory> SharedExecStreamSubFactory;
00175 
00176 class ExecStreamResourceQuantity;
00177 typedef boost::shared_ptr<ExecStreamResourceQuantity>
00178     SharedExecStreamResourceQuantity;
00179 
00180 class ExecStreamGovernor;
00181 typedef boost::shared_ptr<ExecStreamGovernor> SharedExecStreamGovernor;
00182 
00183 class FtrsTableWriter;
00184 typedef boost::shared_ptr<FtrsTableWriter> SharedFtrsTableWriter;
00185 
00186 class FtrsTableWriterFactory;
00187 typedef boost::shared_ptr<FtrsTableWriterFactory> SharedFtrsTableWriterFactory;
00188 
00189 class Calculator;
00190 typedef boost::shared_ptr<Calculator> SharedCalculator;
00191 
00192 class DynamicParam;
00193 typedef boost::shared_ptr<DynamicParam> SharedDynamicParam;
00194 
00195 class DynamicParamManager;
00196 typedef boost::shared_ptr<DynamicParamManager> SharedDynamicParamManager;
00197 
00198 class SegBufferReader;
00199 typedef boost::shared_ptr<SegBufferReader> SharedSegBufferReader;
00200 
00201 class SegBufferWriter;
00202 typedef boost::shared_ptr<SegBufferWriter> SharedSegBufferWriter;
00203 
00204 class SizeBuffer;
00205 typedef boost::shared_ptr<SizeBuffer> SharedSizeBuffer;
00206 
00207 class LcsClusterDump;
00208 typedef boost::shared_ptr<LcsClusterDump> SharedLcsClusterDump;
00209 
00210 class LcsClusterNodeWriter;
00211 typedef boost::shared_ptr<LcsClusterNodeWriter> SharedLcsClusterNodeWriter;
00212 
00213 class LcsCompareColKeyUsingOffsetIndex;
00214 typedef boost::shared_ptr<LcsCompareColKeyUsingOffsetIndex>
00215     SharedLcsCompareColKeyUsingOffsetIndex;
00216 
00217 class LcsClusterReader;
00218 typedef boost::shared_ptr<LcsClusterReader> SharedLcsClusterReader;
00219 
00220 class LbmEntry;
00221 typedef boost::shared_ptr<LbmEntry> SharedLbmEntry;
00222 
00223 class LbmTupleReader;
00224 typedef boost::shared_ptr<LbmTupleReader> SharedLbmTupleReader;
00225 
00226 class ByteBuffer;
00227 typedef boost::shared_ptr<ByteBuffer> SharedByteBuffer;
00228 
00229 class LhxPartition;
00230 typedef boost::shared_ptr<LhxPartition> SharedLhxPartition;
00231 
00232 class LhxPartitionWriter;
00233 typedef boost::shared_ptr<LhxPartitionWriter> SharedLhxPartitionWriter;
00234 
00235 class LhxPlan;
00236 typedef boost::shared_ptr<LhxPlan> SharedLhxPlan;
00237 
00238 class LhxPlan;
00239 typedef boost::weak_ptr<LhxPlan> WeakLhxPlan;
00240 
00241 struct LcsResidualFilter;
00242 typedef boost::shared_ptr<LcsResidualFilter> SharedLcsResidualFilter;
00243 
00244 FENNEL_END_NAMESPACE
00245 
00246 #endif
00247 
00248 // End SharedTypes.h

Generated on Mon Jun 22 04:00:18 2009 for Fennel by  doxygen 1.5.1