00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TORC_GENERIC_OM_POINTERTYPES_HPP
00017 #define TORC_GENERIC_OM_POINTERTYPES_HPP
00018
00019
00020 #include <boost/shared_ptr.hpp>
00021 #include <boost/weak_ptr.hpp>
00022
00023 namespace torc {
00024 namespace generic {
00025
00026 class Apply;
00027 typedef boost::shared_ptr<Apply> ApplySharedPtr;
00028 typedef boost::weak_ptr<Apply> ApplyWeakPtr;
00029
00030 class Cell;
00031 typedef boost::shared_ptr<Cell> CellSharedPtr;
00032 typedef boost::weak_ptr<Cell> CellWeakPtr;
00033
00034 class Design;
00035 typedef boost::shared_ptr<Design> DesignSharedPtr;
00036 typedef boost::weak_ptr<Design> DesignWeakPtr;
00037
00038 class Error;
00039 typedef boost::shared_ptr<Error> ErrorSharedPtr;
00040 typedef boost::weak_ptr<Error> ErrorWeakPtr;
00041
00042 class Event;
00043 typedef boost::shared_ptr<Event> EventSharedPtr;
00044 typedef boost::weak_ptr<Event> EventWeakPtr;
00045
00046 class ForbiddenEvent;
00047 typedef boost::shared_ptr<ForbiddenEvent> ForbiddenEventSharedPtr;
00048 typedef boost::weak_ptr<ForbiddenEvent> ForbiddenEventWeakPtr;
00049
00050 class View;
00051 typedef boost::shared_ptr<View> ViewSharedPtr;
00052 typedef boost::weak_ptr<View> ViewWeakPtr;
00053
00054 class Root;
00055 typedef boost::shared_ptr<Root> RootSharedPtr;
00056 typedef boost::weak_ptr<Root> RootWeakPtr;
00057
00058 class Library;
00059 typedef boost::shared_ptr<Library> LibrarySharedPtr;
00060 typedef boost::weak_ptr<Library> LibraryWeakPtr;
00061
00062 class LogicValueAttributes;
00063 typedef boost::shared_ptr<LogicValueAttributes> LogicValueAttributesSharedPtr;
00064 typedef boost::weak_ptr<LogicValueAttributes> LogicValueAttributesWeakPtr;
00065
00066 class LogicValue;
00067 typedef boost::shared_ptr<LogicValue> LogicValueSharedPtr;
00068 typedef boost::weak_ptr<LogicValue> LogicValueWeakPtr;
00069
00070 class LogicElement;
00071 typedef boost::shared_ptr<LogicElement> LogicElementSharedPtr;
00072 typedef boost::weak_ptr<LogicElement> LogicElementWeakPtr;
00073
00074 class LogicalResponse;
00075 typedef boost::shared_ptr<LogicalResponse> LogicalResponseSharedPtr;
00076 typedef boost::weak_ptr<LogicalResponse> LogicalResponseWeakPtr;
00077
00078 class Instance;
00079 typedef boost::shared_ptr<Instance> InstanceSharedPtr;
00080 typedef boost::weak_ptr<Instance> InstanceWeakPtr;
00081
00082 class SingleInstance;
00083 typedef boost::shared_ptr<SingleInstance> SingleInstanceSharedPtr;
00084 typedef boost::weak_ptr<SingleInstance> SingleInstanceWeakPtr;
00085
00086 class InstanceArray;
00087 typedef boost::shared_ptr<InstanceArray> InstanceArraySharedPtr;
00088 typedef boost::weak_ptr<InstanceArray> InstanceArrayWeakPtr;
00089
00090 class InstanceArrayMember;
00091 typedef boost::shared_ptr<InstanceArrayMember> InstanceArrayMemberSharedPtr;
00092 typedef boost::weak_ptr<InstanceArrayMember> InstanceArrayMemberWeakPtr;
00093
00094 class InterfaceAttributes;
00095 typedef boost::shared_ptr<InterfaceAttributes> InterfaceAttributesSharedPtr;
00096 typedef boost::weak_ptr<InterfaceAttributes> InterfaceAttributesWeakPtr;
00097
00098 class Net;
00099 typedef boost::shared_ptr<Net> NetSharedPtr;
00100 typedef boost::weak_ptr<Net> NetWeakPtr;
00101
00102 class NetAttributes;
00103 typedef boost::shared_ptr<NetAttributes> NetAttributesSharedPtr;
00104 typedef boost::weak_ptr<NetAttributes> NetAttributesWeakPtr;
00105
00106 class NetReference;
00107 typedef boost::shared_ptr<NetReference> NetReferenceSharedPtr;
00108 typedef boost::weak_ptr<NetReference> NetReferenceWeakPtr;
00109
00110 class ScalarNet;
00111 typedef boost::shared_ptr<ScalarNet> ScalarNetSharedPtr;
00112 typedef boost::weak_ptr<ScalarNet> ScalarNetWeakPtr;
00113
00114 class VectorNet;
00115 typedef boost::shared_ptr<VectorNet> VectorNetSharedPtr;
00116 typedef boost::weak_ptr<VectorNet> VectorNetWeakPtr;
00117
00118 class VectorNetBit;
00119 typedef boost::shared_ptr<VectorNetBit> VectorNetBitSharedPtr;
00120 typedef boost::weak_ptr<VectorNetBit> VectorNetBitWeakPtr;
00121
00122 class NetBundle;
00123 typedef boost::shared_ptr<NetBundle> NetBundleSharedPtr;
00124 typedef boost::weak_ptr<NetBundle> NetBundleWeakPtr;
00125
00126 class ObjectFactory;
00127 typedef boost::shared_ptr<ObjectFactory> ObjectFactorySharedPtr;
00128 typedef boost::weak_ptr<ObjectFactory> ObjectFactoryWeakPtr;
00129
00130 class PathDelay;
00131 typedef boost::shared_ptr<PathDelay> PathDelaySharedPtr;
00132 typedef boost::weak_ptr<PathDelay> PathDelayWeakPtr;
00133
00134 class Permutable;
00135 typedef boost::shared_ptr<Permutable> PermutableSharedPtr;
00136 typedef boost::weak_ptr<Permutable> PermutableWeakPtr;
00137
00138 class Port;
00139 typedef boost::shared_ptr<Port> PortSharedPtr;
00140 typedef boost::weak_ptr<Port> PortWeakPtr;
00141
00142 class PortElement;
00143 typedef boost::shared_ptr<PortElement> PortElementSharedPtr;
00144 typedef boost::weak_ptr<PortElement> PortElementWeakPtr;
00145
00146 class PortList;
00147 typedef boost::shared_ptr<PortList> PortListSharedPtr;
00148 typedef boost::weak_ptr<PortList> PortListWeakPtr;
00149
00150 class PortListAlias;
00151 typedef boost::shared_ptr<PortListAlias> PortListAliasSharedPtr;
00152 typedef boost::weak_ptr<PortListAlias> PortListAliasWeakPtr;
00153
00154 class PortAttributes;
00155 typedef boost::shared_ptr<PortAttributes> PortAttributesSharedPtr;
00156 typedef boost::weak_ptr<PortAttributes> PortAttributesWeakPtr;
00157
00158 class PortBundle;
00159 typedef boost::shared_ptr<PortBundle> PortBundleSharedPtr;
00160 typedef boost::weak_ptr<PortBundle> PortBundleWeakPtr;
00161
00162 class PortBundleReference;
00163 typedef boost::shared_ptr<PortBundleReference> PortBundleReferenceSharedPtr;
00164 typedef boost::weak_ptr<PortBundleReference> PortBundleReferenceWeakPtr;
00165
00166 class PortReference;
00167 typedef boost::shared_ptr<PortReference> PortReferenceSharedPtr;
00168 typedef boost::weak_ptr<PortReference> PortReferenceWeakPtr;
00169
00170 class Parameter;
00171 typedef boost::shared_ptr<Parameter> ParameterSharedPtr;
00172 typedef boost::weak_ptr<Parameter> ParameterWeakPtr;
00173
00174 class SingleParameter;
00175 typedef boost::shared_ptr<SingleParameter> SingleParameterSharedPtr;
00176 typedef boost::weak_ptr<SingleParameter> SingleParameterWeakPtr;
00177
00178 class SimulationInfo;
00179 typedef boost::shared_ptr<SimulationInfo> SimulationInfoSharedPtr;
00180 typedef boost::weak_ptr<SimulationInfo> SimulationInfoWeakPtr;
00181
00182 class Simulate;
00183 typedef boost::shared_ptr<Simulate> SimulateSharedPtr;
00184 typedef boost::weak_ptr<Simulate> SimulateWeakPtr;
00185
00186 class ParameterArray;
00187 typedef boost::shared_ptr<ParameterArray> ParameterArraySharedPtr;
00188 typedef boost::weak_ptr<ParameterArray> ParameterArrayWeakPtr;
00189
00190 class ParameterArrayElement;
00191 typedef boost::shared_ptr<ParameterArrayElement> ParameterArrayElementSharedPtr;
00192 typedef boost::weak_ptr<ParameterArrayElement> ParameterArrayElementWeakPtr;
00193
00194 class ParameterMap;
00195 typedef boost::shared_ptr<ParameterMap> ParameterMapSharedPtr;
00196 typedef boost::weak_ptr<ParameterMap> ParameterMapWeakPtr;
00197
00198 class Property;
00199 typedef boost::shared_ptr<Property> PropertySharedPtr;
00200 typedef boost::weak_ptr<Property> PropertyWeakPtr;
00201
00202 class PropertyContainer;
00203 typedef boost::shared_ptr<PropertyContainer> PropertyContainerSharedPtr;
00204 typedef boost::weak_ptr<PropertyContainer> PropertyContainerWeakPtr;
00205
00206 class ScalarNet;
00207 typedef boost::shared_ptr<ScalarNet> ScalarNetSharedPtr;
00208 typedef boost::weak_ptr<ScalarNet> ScalarNetWeakPtr;
00209
00210 class ScalarPort;
00211 typedef boost::shared_ptr<ScalarPort> ScalarPortSharedPtr;
00212 typedef boost::weak_ptr<ScalarPort> ScalarPortWeakPtr;
00213
00214 class ScalarPortReference;
00215 typedef boost::shared_ptr<ScalarPortReference> ScalarPortReferenceSharedPtr;
00216 typedef boost::weak_ptr<ScalarPortReference> ScalarPortReferenceWeakPtr;
00217
00218 class SingleParameter;
00219 typedef boost::shared_ptr<SingleParameter> SingleParameterSharedPtr;
00220 typedef boost::weak_ptr<SingleParameter> SingleParameterWeakPtr;
00221
00222 class SingleInstance;
00223 typedef boost::shared_ptr<SingleInstance> SingleInstanceSharedPtr;
00224 typedef boost::weak_ptr<SingleInstance> SingleInstanceWeakPtr;
00225
00226 class Timing;
00227 typedef boost::shared_ptr<Timing> TimingSharedPtr;
00228 typedef boost::weak_ptr<Timing> TimingWeakPtr;
00229
00230 class VectorNet;
00231 typedef boost::shared_ptr<VectorNet> VectorNetSharedPtr;
00232 typedef boost::weak_ptr<VectorNet> VectorNetWeakPtr;
00233
00234 class VectorPort;
00235 typedef boost::shared_ptr<VectorPort> VectorPortSharedPtr;
00236 typedef boost::weak_ptr<VectorPort> VectorPortWeakPtr;
00237
00238 class VectorPortReference;
00239 typedef boost::shared_ptr<VectorPortReference> VectorPortReferenceSharedPtr;
00240 typedef boost::weak_ptr<VectorPortReference> VectorPortReferenceWeakPtr;
00241
00242 class ParameterArray;
00243 typedef boost::shared_ptr<ParameterArray> ParameterArraySharedPtr;
00244 typedef boost::weak_ptr<ParameterArray> ParameterArrayWeakPtr;
00245
00246 class InstanceArray;
00247 typedef boost::shared_ptr<InstanceArray> InstanceArraySharedPtr;
00248 typedef boost::weak_ptr<InstanceArray> InstanceArrayWeakPtr;
00249
00250 class VectorPortBit;
00251 typedef boost::shared_ptr<VectorPortBit> VectorPortBitSharedPtr;
00252 typedef boost::shared_ptr<VectorPortBit> VectorPortBitWeakPtr;
00253
00254 class VectorPortBitReference;
00255 typedef boost::shared_ptr<VectorPortBitReference> VectorPortBitReferenceSharedPtr;
00256 typedef boost::shared_ptr<VectorPortBitReference> VectorPortBitReferenceWeakPtr;
00257
00258 class UserDataContainer;
00259 typedef boost::shared_ptr<UserDataContainer> UserDataContainerSharedPtr;
00260 typedef boost::weak_ptr<UserDataContainer> UserDataContainerWeakPtr;
00261
00262 class Status;
00263 typedef boost::shared_ptr<Status> StatusSharedPtr;
00264 typedef boost::weak_ptr<Status> StatusWeakPtr;
00265
00266 class StatusContainer;
00267 typedef boost::shared_ptr<StatusContainer> StatusContainerSharedPtr;
00268 typedef boost::weak_ptr<StatusContainer> StatusContainerWeakPtr;
00269
00270 class WaveValue;
00271 typedef boost::shared_ptr<WaveValue> WaveValueSharedPtr;
00272 typedef boost::weak_ptr<WaveValue> WaveValueWeakPtr;
00273
00274 class Written;
00275 typedef boost::shared_ptr<Written> WrittenSharedPtr;
00276 typedef boost::weak_ptr<Written> WrittenWeakPtr;
00277
00278 class InterfaceJoinedInfo;
00279 typedef boost::shared_ptr<InterfaceJoinedInfo> InterfaceJoinedInfoSharedPtr;
00280 typedef boost::weak_ptr<InterfaceJoinedInfo> InterfaceJoinedInfoWeakPtr;
00281
00282 }
00283
00284 }
00285 #endif // TORC_GENERIC_OM_POINTERTYPES_HPP