00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00033
00034 #ifndef SH_SHATTRIB_HPP
00035 #define SH_SHATTRIB_HPP
00036
00037 #ifndef SH_DO_NOT_INCLUDE_GENERIC_IMPL
00038 # define SH_DO_NOT_INCLUDE_GENERIC_IMPL
00039 # include "ShGeneric.hpp"
00040 # undef SH_DO_NOT_INCLUDE_GENERIC_IMPL
00041 #else
00042 # include "ShGeneric.hpp"
00043 #endif
00044 namespace SH {
00045
00060 template<int N, ShBindingType Binding, typename T=float, bool Swizzled=false>
00061 class ShAttrib : public ShGeneric<N, T> {
00062 public:
00063 typedef T storage_type;
00064 typedef typename ShHostType<T>::type host_type;
00065 typedef typename ShMemType<T>::type mem_type;
00066 static const ShBindingType binding_type = Binding;
00067 static const ShSemanticType semantic_type = SH_ATTRIB;
00068
00069 typedef ShAttrib<N, SH_INPUT, T> InputType;
00070 typedef ShAttrib<N, SH_OUTPUT, T> OutputType;
00071 typedef ShAttrib<N, SH_INOUT, T> InOutType;
00072 typedef ShAttrib<N, SH_TEMP, T> TempType;
00073 typedef ShAttrib<N, SH_CONST, T> ConstType;
00074 ShAttrib();
00075
00076 template<typename T2>
00077 ShAttrib(const ShGeneric<N, T2>& other);
00078 ShAttrib(const ShAttrib<N, Binding, T, Swizzled>& other);
00079
00080 template<typename T2>
00081 ShAttrib(const ShAttrib<N, Binding, T2, Swizzled>& other);
00082 ShAttrib(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00083 explicit ShAttrib(host_type data[N]);
00084
00085 ~ShAttrib();
00086
00087
00088 template<typename T2>
00089 ShAttrib& operator=(const ShGeneric<N, T2>& other);
00090
00091 template<typename T2>
00092 ShAttrib& operator=(const ShAttrib<N, Binding, T2, Swizzled>& other);
00093 ShAttrib& operator=(const ShAttrib<N, Binding, T, Swizzled>& other);
00094
00095 ShAttrib& operator=(const ShProgram& prg);
00096
00097
00098 template<typename T2>
00099 ShAttrib& operator+=(const ShGeneric<N, T2>& right);
00100
00101 template<typename T2>
00102 ShAttrib& operator-=(const ShGeneric<N, T2>& right);
00103
00104 template<typename T2>
00105 ShAttrib& operator*=(const ShGeneric<N, T2>& right);
00106
00107 template<typename T2>
00108 ShAttrib& operator/=(const ShGeneric<N, T2>& right);
00109
00110 template<typename T2>
00111 ShAttrib& operator%=(const ShGeneric<N, T2>& right);
00112 ShAttrib& operator*=(host_type);
00113 ShAttrib& operator/=(host_type);
00114 ShAttrib& operator%=(host_type);
00115 ShAttrib& operator+=(host_type);
00116 ShAttrib& operator-=(host_type);
00117
00118 template<typename T2>
00119 ShAttrib& operator+=(const ShGeneric<1, T2>&);
00120
00121 template<typename T2>
00122 ShAttrib& operator-=(const ShGeneric<1, T2>&);
00123
00124 template<typename T2>
00125 ShAttrib& operator*=(const ShGeneric<1, T2>&);
00126
00127 template<typename T2>
00128 ShAttrib& operator/=(const ShGeneric<1, T2>&);
00129
00130 template<typename T2>
00131 ShAttrib& operator%=(const ShGeneric<1, T2>&);
00132 ShAttrib<1, Binding, T, true> operator()(int) const;
00133 ShAttrib<2, Binding, T, true> operator()(int, int) const;
00134 ShAttrib<3, Binding, T, true> operator()(int, int, int) const;
00135 ShAttrib<4, Binding, T, true> operator()(int, int, int, int) const;
00136 ShAttrib<1, Binding, T, true> operator[](int) const;
00137
00138 template<int N2>
00139 ShAttrib<N2, Binding, T, true> swiz(int indices[]) const;
00140
00141 ShAttrib operator-() const;
00142 private:
00143 typedef ShGeneric<N, T> ParentType;
00144 };
00145
00146 template<ShBindingType Binding, typename T, bool Swizzled>
00147 class ShAttrib<1, Binding, T, Swizzled> : public ShGeneric<1, T> {
00148 public:
00149 typedef T storage_type;
00150 typedef typename ShHostType<T>::type host_type;
00151 typedef typename ShMemType<T>::type mem_type;
00152 static const ShBindingType binding_type = Binding;
00153 static const ShSemanticType semantic_type = SH_ATTRIB;
00154
00155 typedef ShAttrib<1, SH_INPUT, T> InputType;
00156 typedef ShAttrib<1, SH_OUTPUT, T> OutputType;
00157 typedef ShAttrib<1, SH_INOUT, T> InOutType;
00158 typedef ShAttrib<1, SH_TEMP, T> TempType;
00159 typedef ShAttrib<1, SH_CONST, T> ConstType;
00160 ShAttrib();
00161
00162 template<typename T2>
00163 ShAttrib(const ShGeneric<1, T2>& other);
00164 ShAttrib(const ShAttrib<1, Binding, T, Swizzled>& other);
00165
00166 template<typename T2>
00167 ShAttrib(const ShAttrib<1, Binding, T2, Swizzled>& other);
00168 ShAttrib(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00169 explicit ShAttrib(host_type data[1]);
00170
00171 ShAttrib(host_type);
00172
00173 ~ShAttrib();
00174
00175
00176 template<typename T2>
00177 ShAttrib& operator=(const ShGeneric<1, T2>& other);
00178
00179 template<typename T2>
00180 ShAttrib& operator=(const ShAttrib<1, Binding, T2, Swizzled>& other);
00181 ShAttrib& operator=(const ShAttrib<1, Binding, T, Swizzled>& other);
00182
00183 ShAttrib& operator=(host_type other);
00184
00185 ShAttrib& operator=(const ShProgram& prg);
00186
00187
00188 template<typename T2>
00189 ShAttrib& operator+=(const ShGeneric<1, T2>& right);
00190
00191 template<typename T2>
00192 ShAttrib& operator-=(const ShGeneric<1, T2>& right);
00193
00194 template<typename T2>
00195 ShAttrib& operator*=(const ShGeneric<1, T2>& right);
00196
00197 template<typename T2>
00198 ShAttrib& operator/=(const ShGeneric<1, T2>& right);
00199
00200 template<typename T2>
00201 ShAttrib& operator%=(const ShGeneric<1, T2>& right);
00202 ShAttrib& operator*=(host_type);
00203 ShAttrib& operator/=(host_type);
00204 ShAttrib& operator%=(host_type);
00205 ShAttrib& operator+=(host_type);
00206 ShAttrib& operator-=(host_type);
00207 ShAttrib<1, Binding, T, true> operator()(int) const;
00208 ShAttrib<2, Binding, T, true> operator()(int, int) const;
00209 ShAttrib<3, Binding, T, true> operator()(int, int, int) const;
00210 ShAttrib<4, Binding, T, true> operator()(int, int, int, int) const;
00211 ShAttrib<1, Binding, T, true> operator[](int) const;
00212
00213 template<int N2>
00214 ShAttrib<N2, Binding, T, true> swiz(int indices[]) const;
00215
00216 ShAttrib operator-() const;
00217 private:
00218 typedef ShGeneric<1, T> ParentType;
00219 };
00220
00221 template<ShBindingType Binding, typename T, bool Swizzled>
00222 class ShAttrib<2, Binding, T, Swizzled> : public ShGeneric<2, T> {
00223 public:
00224 typedef T storage_type;
00225 typedef typename ShHostType<T>::type host_type;
00226 typedef typename ShMemType<T>::type mem_type;
00227 static const ShBindingType binding_type = Binding;
00228 static const ShSemanticType semantic_type = SH_ATTRIB;
00229
00230 typedef ShAttrib<2, SH_INPUT, T> InputType;
00231 typedef ShAttrib<2, SH_OUTPUT, T> OutputType;
00232 typedef ShAttrib<2, SH_INOUT, T> InOutType;
00233 typedef ShAttrib<2, SH_TEMP, T> TempType;
00234 typedef ShAttrib<2, SH_CONST, T> ConstType;
00235 ShAttrib();
00236
00237 template<typename T2>
00238 ShAttrib(const ShGeneric<2, T2>& other);
00239 ShAttrib(const ShAttrib<2, Binding, T, Swizzled>& other);
00240
00241 template<typename T2>
00242 ShAttrib(const ShAttrib<2, Binding, T2, Swizzled>& other);
00243 ShAttrib(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00244 explicit ShAttrib(host_type data[2]);
00245
00246 ShAttrib(host_type, host_type);
00247 template<typename T2, typename T3>
00248 ShAttrib(const ShGeneric<1, T2>&, const ShGeneric<1, T3>&);
00249
00250 ~ShAttrib();
00251
00252
00253 template<typename T2>
00254 ShAttrib& operator=(const ShGeneric<2, T2>& other);
00255
00256 template<typename T2>
00257 ShAttrib& operator=(const ShAttrib<2, Binding, T2, Swizzled>& other);
00258 ShAttrib& operator=(const ShAttrib<2, Binding, T, Swizzled>& other);
00259
00260 ShAttrib& operator=(const ShProgram& prg);
00261
00262
00263 template<typename T2>
00264 ShAttrib& operator+=(const ShGeneric<2, T2>& right);
00265
00266 template<typename T2>
00267 ShAttrib& operator-=(const ShGeneric<2, T2>& right);
00268
00269 template<typename T2>
00270 ShAttrib& operator*=(const ShGeneric<2, T2>& right);
00271
00272 template<typename T2>
00273 ShAttrib& operator/=(const ShGeneric<2, T2>& right);
00274
00275 template<typename T2>
00276 ShAttrib& operator%=(const ShGeneric<2, T2>& right);
00277 ShAttrib& operator*=(host_type);
00278 ShAttrib& operator/=(host_type);
00279 ShAttrib& operator%=(host_type);
00280 ShAttrib& operator+=(host_type);
00281 ShAttrib& operator-=(host_type);
00282
00283 template<typename T2>
00284 ShAttrib& operator+=(const ShGeneric<1, T2>&);
00285
00286 template<typename T2>
00287 ShAttrib& operator-=(const ShGeneric<1, T2>&);
00288
00289 template<typename T2>
00290 ShAttrib& operator*=(const ShGeneric<1, T2>&);
00291
00292 template<typename T2>
00293 ShAttrib& operator/=(const ShGeneric<1, T2>&);
00294
00295 template<typename T2>
00296 ShAttrib& operator%=(const ShGeneric<1, T2>&);
00297 ShAttrib<1, Binding, T, true> operator()(int) const;
00298 ShAttrib<2, Binding, T, true> operator()(int, int) const;
00299 ShAttrib<3, Binding, T, true> operator()(int, int, int) const;
00300 ShAttrib<4, Binding, T, true> operator()(int, int, int, int) const;
00301 ShAttrib<1, Binding, T, true> operator[](int) const;
00302
00303 template<int N2>
00304 ShAttrib<N2, Binding, T, true> swiz(int indices[]) const;
00305
00306 ShAttrib operator-() const;
00307 private:
00308 typedef ShGeneric<2, T> ParentType;
00309 };
00310
00311 template<ShBindingType Binding, typename T, bool Swizzled>
00312 class ShAttrib<3, Binding, T, Swizzled> : public ShGeneric<3, T> {
00313 public:
00314 typedef T storage_type;
00315 typedef typename ShHostType<T>::type host_type;
00316 typedef typename ShMemType<T>::type mem_type;
00317 static const ShBindingType binding_type = Binding;
00318 static const ShSemanticType semantic_type = SH_ATTRIB;
00319
00320 typedef ShAttrib<3, SH_INPUT, T> InputType;
00321 typedef ShAttrib<3, SH_OUTPUT, T> OutputType;
00322 typedef ShAttrib<3, SH_INOUT, T> InOutType;
00323 typedef ShAttrib<3, SH_TEMP, T> TempType;
00324 typedef ShAttrib<3, SH_CONST, T> ConstType;
00325 ShAttrib();
00326
00327 template<typename T2>
00328 ShAttrib(const ShGeneric<3, T2>& other);
00329 ShAttrib(const ShAttrib<3, Binding, T, Swizzled>& other);
00330
00331 template<typename T2>
00332 ShAttrib(const ShAttrib<3, Binding, T2, Swizzled>& other);
00333 ShAttrib(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00334 explicit ShAttrib(host_type data[3]);
00335
00336 ShAttrib(host_type, host_type, host_type);
00337 template<typename T2, typename T3, typename T4>
00338 ShAttrib(const ShGeneric<1, T2>&, const ShGeneric<1, T3>&, const ShGeneric<1, T4>&);
00339
00340 ~ShAttrib();
00341
00342
00343 template<typename T2>
00344 ShAttrib& operator=(const ShGeneric<3, T2>& other);
00345
00346 template<typename T2>
00347 ShAttrib& operator=(const ShAttrib<3, Binding, T2, Swizzled>& other);
00348 ShAttrib& operator=(const ShAttrib<3, Binding, T, Swizzled>& other);
00349
00350 ShAttrib& operator=(const ShProgram& prg);
00351
00352
00353 template<typename T2>
00354 ShAttrib& operator+=(const ShGeneric<3, T2>& right);
00355
00356 template<typename T2>
00357 ShAttrib& operator-=(const ShGeneric<3, T2>& right);
00358
00359 template<typename T2>
00360 ShAttrib& operator*=(const ShGeneric<3, T2>& right);
00361
00362 template<typename T2>
00363 ShAttrib& operator/=(const ShGeneric<3, T2>& right);
00364
00365 template<typename T2>
00366 ShAttrib& operator%=(const ShGeneric<3, T2>& right);
00367 ShAttrib& operator*=(host_type);
00368 ShAttrib& operator/=(host_type);
00369 ShAttrib& operator%=(host_type);
00370 ShAttrib& operator+=(host_type);
00371 ShAttrib& operator-=(host_type);
00372
00373 template<typename T2>
00374 ShAttrib& operator+=(const ShGeneric<1, T2>&);
00375
00376 template<typename T2>
00377 ShAttrib& operator-=(const ShGeneric<1, T2>&);
00378
00379 template<typename T2>
00380 ShAttrib& operator*=(const ShGeneric<1, T2>&);
00381
00382 template<typename T2>
00383 ShAttrib& operator/=(const ShGeneric<1, T2>&);
00384
00385 template<typename T2>
00386 ShAttrib& operator%=(const ShGeneric<1, T2>&);
00387 ShAttrib<1, Binding, T, true> operator()(int) const;
00388 ShAttrib<2, Binding, T, true> operator()(int, int) const;
00389 ShAttrib<3, Binding, T, true> operator()(int, int, int) const;
00390 ShAttrib<4, Binding, T, true> operator()(int, int, int, int) const;
00391 ShAttrib<1, Binding, T, true> operator[](int) const;
00392
00393 template<int N2>
00394 ShAttrib<N2, Binding, T, true> swiz(int indices[]) const;
00395
00396 ShAttrib operator-() const;
00397 private:
00398 typedef ShGeneric<3, T> ParentType;
00399 };
00400
00401 template<ShBindingType Binding, typename T, bool Swizzled>
00402 class ShAttrib<4, Binding, T, Swizzled> : public ShGeneric<4, T> {
00403 public:
00404 typedef T storage_type;
00405 typedef typename ShHostType<T>::type host_type;
00406 typedef typename ShMemType<T>::type mem_type;
00407 static const ShBindingType binding_type = Binding;
00408 static const ShSemanticType semantic_type = SH_ATTRIB;
00409
00410 typedef ShAttrib<4, SH_INPUT, T> InputType;
00411 typedef ShAttrib<4, SH_OUTPUT, T> OutputType;
00412 typedef ShAttrib<4, SH_INOUT, T> InOutType;
00413 typedef ShAttrib<4, SH_TEMP, T> TempType;
00414 typedef ShAttrib<4, SH_CONST, T> ConstType;
00415 ShAttrib();
00416
00417 template<typename T2>
00418 ShAttrib(const ShGeneric<4, T2>& other);
00419 ShAttrib(const ShAttrib<4, Binding, T, Swizzled>& other);
00420
00421 template<typename T2>
00422 ShAttrib(const ShAttrib<4, Binding, T2, Swizzled>& other);
00423 ShAttrib(const ShVariableNodePtr& node, const ShSwizzle& swizzle, bool neg);
00424 explicit ShAttrib(host_type data[4]);
00425
00426 ShAttrib(host_type, host_type, host_type, host_type);
00427 template<typename T2, typename T3, typename T4, typename T5>
00428 ShAttrib(const ShGeneric<1, T2>&, const ShGeneric<1, T3>&, const ShGeneric<1, T4>&, const ShGeneric<1, T5>&);
00429
00430 ~ShAttrib();
00431
00432
00433 template<typename T2>
00434 ShAttrib& operator=(const ShGeneric<4, T2>& other);
00435
00436 template<typename T2>
00437 ShAttrib& operator=(const ShAttrib<4, Binding, T2, Swizzled>& other);
00438 ShAttrib& operator=(const ShAttrib<4, Binding, T, Swizzled>& other);
00439
00440 ShAttrib& operator=(const ShProgram& prg);
00441
00442
00443 template<typename T2>
00444 ShAttrib& operator+=(const ShGeneric<4, T2>& right);
00445
00446 template<typename T2>
00447 ShAttrib& operator-=(const ShGeneric<4, T2>& right);
00448
00449 template<typename T2>
00450 ShAttrib& operator*=(const ShGeneric<4, T2>& right);
00451
00452 template<typename T2>
00453 ShAttrib& operator/=(const ShGeneric<4, T2>& right);
00454
00455 template<typename T2>
00456 ShAttrib& operator%=(const ShGeneric<4, T2>& right);
00457 ShAttrib& operator*=(host_type);
00458 ShAttrib& operator/=(host_type);
00459 ShAttrib& operator%=(host_type);
00460 ShAttrib& operator+=(host_type);
00461 ShAttrib& operator-=(host_type);
00462
00463 template<typename T2>
00464 ShAttrib& operator+=(const ShGeneric<1, T2>&);
00465
00466 template<typename T2>
00467 ShAttrib& operator-=(const ShGeneric<1, T2>&);
00468
00469 template<typename T2>
00470 ShAttrib& operator*=(const ShGeneric<1, T2>&);
00471
00472 template<typename T2>
00473 ShAttrib& operator/=(const ShGeneric<1, T2>&);
00474
00475 template<typename T2>
00476 ShAttrib& operator%=(const ShGeneric<1, T2>&);
00477 ShAttrib<1, Binding, T, true> operator()(int) const;
00478 ShAttrib<2, Binding, T, true> operator()(int, int) const;
00479 ShAttrib<3, Binding, T, true> operator()(int, int, int) const;
00480 ShAttrib<4, Binding, T, true> operator()(int, int, int, int) const;
00481 ShAttrib<1, Binding, T, true> operator[](int) const;
00482
00483 template<int N2>
00484 ShAttrib<N2, Binding, T, true> swiz(int indices[]) const;
00485
00486 ShAttrib operator-() const;
00487 private:
00488 typedef ShGeneric<4, T> ParentType;
00489 };
00490
00491 typedef ShAttrib<1, SH_INPUT, ShInterval<double> > ShInputAttrib1i_d;
00492 typedef ShAttrib<1, SH_OUTPUT, ShInterval<double> > ShOutputAttrib1i_d;
00493 typedef ShAttrib<1, SH_INOUT, ShInterval<double> > ShInOutAttrib1i_d;
00494 typedef ShAttrib<1, SH_TEMP, ShInterval<double> > ShAttrib1i_d;
00495 typedef ShAttrib<1, SH_CONST, ShInterval<double> > ShConstAttrib1i_d;
00496 typedef ShAttrib<2, SH_INPUT, ShInterval<double> > ShInputAttrib2i_d;
00497 typedef ShAttrib<2, SH_OUTPUT, ShInterval<double> > ShOutputAttrib2i_d;
00498 typedef ShAttrib<2, SH_INOUT, ShInterval<double> > ShInOutAttrib2i_d;
00499 typedef ShAttrib<2, SH_TEMP, ShInterval<double> > ShAttrib2i_d;
00500 typedef ShAttrib<2, SH_CONST, ShInterval<double> > ShConstAttrib2i_d;
00501 typedef ShAttrib<3, SH_INPUT, ShInterval<double> > ShInputAttrib3i_d;
00502 typedef ShAttrib<3, SH_OUTPUT, ShInterval<double> > ShOutputAttrib3i_d;
00503 typedef ShAttrib<3, SH_INOUT, ShInterval<double> > ShInOutAttrib3i_d;
00504 typedef ShAttrib<3, SH_TEMP, ShInterval<double> > ShAttrib3i_d;
00505 typedef ShAttrib<3, SH_CONST, ShInterval<double> > ShConstAttrib3i_d;
00506 typedef ShAttrib<4, SH_INPUT, ShInterval<double> > ShInputAttrib4i_d;
00507 typedef ShAttrib<4, SH_OUTPUT, ShInterval<double> > ShOutputAttrib4i_d;
00508 typedef ShAttrib<4, SH_INOUT, ShInterval<double> > ShInOutAttrib4i_d;
00509 typedef ShAttrib<4, SH_TEMP, ShInterval<double> > ShAttrib4i_d;
00510 typedef ShAttrib<4, SH_CONST, ShInterval<double> > ShConstAttrib4i_d;
00511
00512
00513 typedef ShAttrib<1, SH_INPUT, ShFracUShort> ShInputAttrib1fus;
00514 typedef ShAttrib<1, SH_OUTPUT, ShFracUShort> ShOutputAttrib1fus;
00515 typedef ShAttrib<1, SH_INOUT, ShFracUShort> ShInOutAttrib1fus;
00516 typedef ShAttrib<1, SH_TEMP, ShFracUShort> ShAttrib1fus;
00517 typedef ShAttrib<1, SH_CONST, ShFracUShort> ShConstAttrib1fus;
00518 typedef ShAttrib<2, SH_INPUT, ShFracUShort> ShInputAttrib2fus;
00519 typedef ShAttrib<2, SH_OUTPUT, ShFracUShort> ShOutputAttrib2fus;
00520 typedef ShAttrib<2, SH_INOUT, ShFracUShort> ShInOutAttrib2fus;
00521 typedef ShAttrib<2, SH_TEMP, ShFracUShort> ShAttrib2fus;
00522 typedef ShAttrib<2, SH_CONST, ShFracUShort> ShConstAttrib2fus;
00523 typedef ShAttrib<3, SH_INPUT, ShFracUShort> ShInputAttrib3fus;
00524 typedef ShAttrib<3, SH_OUTPUT, ShFracUShort> ShOutputAttrib3fus;
00525 typedef ShAttrib<3, SH_INOUT, ShFracUShort> ShInOutAttrib3fus;
00526 typedef ShAttrib<3, SH_TEMP, ShFracUShort> ShAttrib3fus;
00527 typedef ShAttrib<3, SH_CONST, ShFracUShort> ShConstAttrib3fus;
00528 typedef ShAttrib<4, SH_INPUT, ShFracUShort> ShInputAttrib4fus;
00529 typedef ShAttrib<4, SH_OUTPUT, ShFracUShort> ShOutputAttrib4fus;
00530 typedef ShAttrib<4, SH_INOUT, ShFracUShort> ShInOutAttrib4fus;
00531 typedef ShAttrib<4, SH_TEMP, ShFracUShort> ShAttrib4fus;
00532 typedef ShAttrib<4, SH_CONST, ShFracUShort> ShConstAttrib4fus;
00533
00534
00535 typedef ShAttrib<1, SH_INPUT, short> ShInputAttrib1s;
00536 typedef ShAttrib<1, SH_OUTPUT, short> ShOutputAttrib1s;
00537 typedef ShAttrib<1, SH_INOUT, short> ShInOutAttrib1s;
00538 typedef ShAttrib<1, SH_TEMP, short> ShAttrib1s;
00539 typedef ShAttrib<1, SH_CONST, short> ShConstAttrib1s;
00540 typedef ShAttrib<2, SH_INPUT, short> ShInputAttrib2s;
00541 typedef ShAttrib<2, SH_OUTPUT, short> ShOutputAttrib2s;
00542 typedef ShAttrib<2, SH_INOUT, short> ShInOutAttrib2s;
00543 typedef ShAttrib<2, SH_TEMP, short> ShAttrib2s;
00544 typedef ShAttrib<2, SH_CONST, short> ShConstAttrib2s;
00545 typedef ShAttrib<3, SH_INPUT, short> ShInputAttrib3s;
00546 typedef ShAttrib<3, SH_OUTPUT, short> ShOutputAttrib3s;
00547 typedef ShAttrib<3, SH_INOUT, short> ShInOutAttrib3s;
00548 typedef ShAttrib<3, SH_TEMP, short> ShAttrib3s;
00549 typedef ShAttrib<3, SH_CONST, short> ShConstAttrib3s;
00550 typedef ShAttrib<4, SH_INPUT, short> ShInputAttrib4s;
00551 typedef ShAttrib<4, SH_OUTPUT, short> ShOutputAttrib4s;
00552 typedef ShAttrib<4, SH_INOUT, short> ShInOutAttrib4s;
00553 typedef ShAttrib<4, SH_TEMP, short> ShAttrib4s;
00554 typedef ShAttrib<4, SH_CONST, short> ShConstAttrib4s;
00555
00556
00557 typedef ShAttrib<1, SH_INPUT, ShFracUInt> ShInputAttrib1fui;
00558 typedef ShAttrib<1, SH_OUTPUT, ShFracUInt> ShOutputAttrib1fui;
00559 typedef ShAttrib<1, SH_INOUT, ShFracUInt> ShInOutAttrib1fui;
00560 typedef ShAttrib<1, SH_TEMP, ShFracUInt> ShAttrib1fui;
00561 typedef ShAttrib<1, SH_CONST, ShFracUInt> ShConstAttrib1fui;
00562 typedef ShAttrib<2, SH_INPUT, ShFracUInt> ShInputAttrib2fui;
00563 typedef ShAttrib<2, SH_OUTPUT, ShFracUInt> ShOutputAttrib2fui;
00564 typedef ShAttrib<2, SH_INOUT, ShFracUInt> ShInOutAttrib2fui;
00565 typedef ShAttrib<2, SH_TEMP, ShFracUInt> ShAttrib2fui;
00566 typedef ShAttrib<2, SH_CONST, ShFracUInt> ShConstAttrib2fui;
00567 typedef ShAttrib<3, SH_INPUT, ShFracUInt> ShInputAttrib3fui;
00568 typedef ShAttrib<3, SH_OUTPUT, ShFracUInt> ShOutputAttrib3fui;
00569 typedef ShAttrib<3, SH_INOUT, ShFracUInt> ShInOutAttrib3fui;
00570 typedef ShAttrib<3, SH_TEMP, ShFracUInt> ShAttrib3fui;
00571 typedef ShAttrib<3, SH_CONST, ShFracUInt> ShConstAttrib3fui;
00572 typedef ShAttrib<4, SH_INPUT, ShFracUInt> ShInputAttrib4fui;
00573 typedef ShAttrib<4, SH_OUTPUT, ShFracUInt> ShOutputAttrib4fui;
00574 typedef ShAttrib<4, SH_INOUT, ShFracUInt> ShInOutAttrib4fui;
00575 typedef ShAttrib<4, SH_TEMP, ShFracUInt> ShAttrib4fui;
00576 typedef ShAttrib<4, SH_CONST, ShFracUInt> ShConstAttrib4fui;
00577
00578
00579 typedef ShAttrib<1, SH_INPUT, ShFracByte> ShInputAttrib1fb;
00580 typedef ShAttrib<1, SH_OUTPUT, ShFracByte> ShOutputAttrib1fb;
00581 typedef ShAttrib<1, SH_INOUT, ShFracByte> ShInOutAttrib1fb;
00582 typedef ShAttrib<1, SH_TEMP, ShFracByte> ShAttrib1fb;
00583 typedef ShAttrib<1, SH_CONST, ShFracByte> ShConstAttrib1fb;
00584 typedef ShAttrib<2, SH_INPUT, ShFracByte> ShInputAttrib2fb;
00585 typedef ShAttrib<2, SH_OUTPUT, ShFracByte> ShOutputAttrib2fb;
00586 typedef ShAttrib<2, SH_INOUT, ShFracByte> ShInOutAttrib2fb;
00587 typedef ShAttrib<2, SH_TEMP, ShFracByte> ShAttrib2fb;
00588 typedef ShAttrib<2, SH_CONST, ShFracByte> ShConstAttrib2fb;
00589 typedef ShAttrib<3, SH_INPUT, ShFracByte> ShInputAttrib3fb;
00590 typedef ShAttrib<3, SH_OUTPUT, ShFracByte> ShOutputAttrib3fb;
00591 typedef ShAttrib<3, SH_INOUT, ShFracByte> ShInOutAttrib3fb;
00592 typedef ShAttrib<3, SH_TEMP, ShFracByte> ShAttrib3fb;
00593 typedef ShAttrib<3, SH_CONST, ShFracByte> ShConstAttrib3fb;
00594 typedef ShAttrib<4, SH_INPUT, ShFracByte> ShInputAttrib4fb;
00595 typedef ShAttrib<4, SH_OUTPUT, ShFracByte> ShOutputAttrib4fb;
00596 typedef ShAttrib<4, SH_INOUT, ShFracByte> ShInOutAttrib4fb;
00597 typedef ShAttrib<4, SH_TEMP, ShFracByte> ShAttrib4fb;
00598 typedef ShAttrib<4, SH_CONST, ShFracByte> ShConstAttrib4fb;
00599
00600
00601 typedef ShAttrib<1, SH_INPUT, int> ShInputAttrib1i;
00602 typedef ShAttrib<1, SH_OUTPUT, int> ShOutputAttrib1i;
00603 typedef ShAttrib<1, SH_INOUT, int> ShInOutAttrib1i;
00604 typedef ShAttrib<1, SH_TEMP, int> ShAttrib1i;
00605 typedef ShAttrib<1, SH_CONST, int> ShConstAttrib1i;
00606 typedef ShAttrib<2, SH_INPUT, int> ShInputAttrib2i;
00607 typedef ShAttrib<2, SH_OUTPUT, int> ShOutputAttrib2i;
00608 typedef ShAttrib<2, SH_INOUT, int> ShInOutAttrib2i;
00609 typedef ShAttrib<2, SH_TEMP, int> ShAttrib2i;
00610 typedef ShAttrib<2, SH_CONST, int> ShConstAttrib2i;
00611 typedef ShAttrib<3, SH_INPUT, int> ShInputAttrib3i;
00612 typedef ShAttrib<3, SH_OUTPUT, int> ShOutputAttrib3i;
00613 typedef ShAttrib<3, SH_INOUT, int> ShInOutAttrib3i;
00614 typedef ShAttrib<3, SH_TEMP, int> ShAttrib3i;
00615 typedef ShAttrib<3, SH_CONST, int> ShConstAttrib3i;
00616 typedef ShAttrib<4, SH_INPUT, int> ShInputAttrib4i;
00617 typedef ShAttrib<4, SH_OUTPUT, int> ShOutputAttrib4i;
00618 typedef ShAttrib<4, SH_INOUT, int> ShInOutAttrib4i;
00619 typedef ShAttrib<4, SH_TEMP, int> ShAttrib4i;
00620 typedef ShAttrib<4, SH_CONST, int> ShConstAttrib4i;
00621
00622
00623 typedef ShAttrib<1, SH_INPUT, double> ShInputAttrib1d;
00624 typedef ShAttrib<1, SH_OUTPUT, double> ShOutputAttrib1d;
00625 typedef ShAttrib<1, SH_INOUT, double> ShInOutAttrib1d;
00626 typedef ShAttrib<1, SH_TEMP, double> ShAttrib1d;
00627 typedef ShAttrib<1, SH_CONST, double> ShConstAttrib1d;
00628 typedef ShAttrib<2, SH_INPUT, double> ShInputAttrib2d;
00629 typedef ShAttrib<2, SH_OUTPUT, double> ShOutputAttrib2d;
00630 typedef ShAttrib<2, SH_INOUT, double> ShInOutAttrib2d;
00631 typedef ShAttrib<2, SH_TEMP, double> ShAttrib2d;
00632 typedef ShAttrib<2, SH_CONST, double> ShConstAttrib2d;
00633 typedef ShAttrib<3, SH_INPUT, double> ShInputAttrib3d;
00634 typedef ShAttrib<3, SH_OUTPUT, double> ShOutputAttrib3d;
00635 typedef ShAttrib<3, SH_INOUT, double> ShInOutAttrib3d;
00636 typedef ShAttrib<3, SH_TEMP, double> ShAttrib3d;
00637 typedef ShAttrib<3, SH_CONST, double> ShConstAttrib3d;
00638 typedef ShAttrib<4, SH_INPUT, double> ShInputAttrib4d;
00639 typedef ShAttrib<4, SH_OUTPUT, double> ShOutputAttrib4d;
00640 typedef ShAttrib<4, SH_INOUT, double> ShInOutAttrib4d;
00641 typedef ShAttrib<4, SH_TEMP, double> ShAttrib4d;
00642 typedef ShAttrib<4, SH_CONST, double> ShConstAttrib4d;
00643
00644
00645 typedef ShAttrib<1, SH_INPUT, unsigned char> ShInputAttrib1ub;
00646 typedef ShAttrib<1, SH_OUTPUT, unsigned char> ShOutputAttrib1ub;
00647 typedef ShAttrib<1, SH_INOUT, unsigned char> ShInOutAttrib1ub;
00648 typedef ShAttrib<1, SH_TEMP, unsigned char> ShAttrib1ub;
00649 typedef ShAttrib<1, SH_CONST, unsigned char> ShConstAttrib1ub;
00650 typedef ShAttrib<2, SH_INPUT, unsigned char> ShInputAttrib2ub;
00651 typedef ShAttrib<2, SH_OUTPUT, unsigned char> ShOutputAttrib2ub;
00652 typedef ShAttrib<2, SH_INOUT, unsigned char> ShInOutAttrib2ub;
00653 typedef ShAttrib<2, SH_TEMP, unsigned char> ShAttrib2ub;
00654 typedef ShAttrib<2, SH_CONST, unsigned char> ShConstAttrib2ub;
00655 typedef ShAttrib<3, SH_INPUT, unsigned char> ShInputAttrib3ub;
00656 typedef ShAttrib<3, SH_OUTPUT, unsigned char> ShOutputAttrib3ub;
00657 typedef ShAttrib<3, SH_INOUT, unsigned char> ShInOutAttrib3ub;
00658 typedef ShAttrib<3, SH_TEMP, unsigned char> ShAttrib3ub;
00659 typedef ShAttrib<3, SH_CONST, unsigned char> ShConstAttrib3ub;
00660 typedef ShAttrib<4, SH_INPUT, unsigned char> ShInputAttrib4ub;
00661 typedef ShAttrib<4, SH_OUTPUT, unsigned char> ShOutputAttrib4ub;
00662 typedef ShAttrib<4, SH_INOUT, unsigned char> ShInOutAttrib4ub;
00663 typedef ShAttrib<4, SH_TEMP, unsigned char> ShAttrib4ub;
00664 typedef ShAttrib<4, SH_CONST, unsigned char> ShConstAttrib4ub;
00665
00666
00667 typedef ShAttrib<1, SH_INPUT, float> ShInputAttrib1f;
00668 typedef ShAttrib<1, SH_OUTPUT, float> ShOutputAttrib1f;
00669 typedef ShAttrib<1, SH_INOUT, float> ShInOutAttrib1f;
00670 typedef ShAttrib<1, SH_TEMP, float> ShAttrib1f;
00671 typedef ShAttrib<1, SH_CONST, float> ShConstAttrib1f;
00672 typedef ShAttrib<2, SH_INPUT, float> ShInputAttrib2f;
00673 typedef ShAttrib<2, SH_OUTPUT, float> ShOutputAttrib2f;
00674 typedef ShAttrib<2, SH_INOUT, float> ShInOutAttrib2f;
00675 typedef ShAttrib<2, SH_TEMP, float> ShAttrib2f;
00676 typedef ShAttrib<2, SH_CONST, float> ShConstAttrib2f;
00677 typedef ShAttrib<3, SH_INPUT, float> ShInputAttrib3f;
00678 typedef ShAttrib<3, SH_OUTPUT, float> ShOutputAttrib3f;
00679 typedef ShAttrib<3, SH_INOUT, float> ShInOutAttrib3f;
00680 typedef ShAttrib<3, SH_TEMP, float> ShAttrib3f;
00681 typedef ShAttrib<3, SH_CONST, float> ShConstAttrib3f;
00682 typedef ShAttrib<4, SH_INPUT, float> ShInputAttrib4f;
00683 typedef ShAttrib<4, SH_OUTPUT, float> ShOutputAttrib4f;
00684 typedef ShAttrib<4, SH_INOUT, float> ShInOutAttrib4f;
00685 typedef ShAttrib<4, SH_TEMP, float> ShAttrib4f;
00686 typedef ShAttrib<4, SH_CONST, float> ShConstAttrib4f;
00687
00688
00689 typedef ShAttrib<1, SH_INPUT, char> ShInputAttrib1b;
00690 typedef ShAttrib<1, SH_OUTPUT, char> ShOutputAttrib1b;
00691 typedef ShAttrib<1, SH_INOUT, char> ShInOutAttrib1b;
00692 typedef ShAttrib<1, SH_TEMP, char> ShAttrib1b;
00693 typedef ShAttrib<1, SH_CONST, char> ShConstAttrib1b;
00694 typedef ShAttrib<2, SH_INPUT, char> ShInputAttrib2b;
00695 typedef ShAttrib<2, SH_OUTPUT, char> ShOutputAttrib2b;
00696 typedef ShAttrib<2, SH_INOUT, char> ShInOutAttrib2b;
00697 typedef ShAttrib<2, SH_TEMP, char> ShAttrib2b;
00698 typedef ShAttrib<2, SH_CONST, char> ShConstAttrib2b;
00699 typedef ShAttrib<3, SH_INPUT, char> ShInputAttrib3b;
00700 typedef ShAttrib<3, SH_OUTPUT, char> ShOutputAttrib3b;
00701 typedef ShAttrib<3, SH_INOUT, char> ShInOutAttrib3b;
00702 typedef ShAttrib<3, SH_TEMP, char> ShAttrib3b;
00703 typedef ShAttrib<3, SH_CONST, char> ShConstAttrib3b;
00704 typedef ShAttrib<4, SH_INPUT, char> ShInputAttrib4b;
00705 typedef ShAttrib<4, SH_OUTPUT, char> ShOutputAttrib4b;
00706 typedef ShAttrib<4, SH_INOUT, char> ShInOutAttrib4b;
00707 typedef ShAttrib<4, SH_TEMP, char> ShAttrib4b;
00708 typedef ShAttrib<4, SH_CONST, char> ShConstAttrib4b;
00709
00710
00711 typedef ShAttrib<1, SH_INPUT, unsigned short> ShInputAttrib1us;
00712 typedef ShAttrib<1, SH_OUTPUT, unsigned short> ShOutputAttrib1us;
00713 typedef ShAttrib<1, SH_INOUT, unsigned short> ShInOutAttrib1us;
00714 typedef ShAttrib<1, SH_TEMP, unsigned short> ShAttrib1us;
00715 typedef ShAttrib<1, SH_CONST, unsigned short> ShConstAttrib1us;
00716 typedef ShAttrib<2, SH_INPUT, unsigned short> ShInputAttrib2us;
00717 typedef ShAttrib<2, SH_OUTPUT, unsigned short> ShOutputAttrib2us;
00718 typedef ShAttrib<2, SH_INOUT, unsigned short> ShInOutAttrib2us;
00719 typedef ShAttrib<2, SH_TEMP, unsigned short> ShAttrib2us;
00720 typedef ShAttrib<2, SH_CONST, unsigned short> ShConstAttrib2us;
00721 typedef ShAttrib<3, SH_INPUT, unsigned short> ShInputAttrib3us;
00722 typedef ShAttrib<3, SH_OUTPUT, unsigned short> ShOutputAttrib3us;
00723 typedef ShAttrib<3, SH_INOUT, unsigned short> ShInOutAttrib3us;
00724 typedef ShAttrib<3, SH_TEMP, unsigned short> ShAttrib3us;
00725 typedef ShAttrib<3, SH_CONST, unsigned short> ShConstAttrib3us;
00726 typedef ShAttrib<4, SH_INPUT, unsigned short> ShInputAttrib4us;
00727 typedef ShAttrib<4, SH_OUTPUT, unsigned short> ShOutputAttrib4us;
00728 typedef ShAttrib<4, SH_INOUT, unsigned short> ShInOutAttrib4us;
00729 typedef ShAttrib<4, SH_TEMP, unsigned short> ShAttrib4us;
00730 typedef ShAttrib<4, SH_CONST, unsigned short> ShConstAttrib4us;
00731
00732
00733 typedef ShAttrib<1, SH_INPUT, ShFracUByte> ShInputAttrib1fub;
00734 typedef ShAttrib<1, SH_OUTPUT, ShFracUByte> ShOutputAttrib1fub;
00735 typedef ShAttrib<1, SH_INOUT, ShFracUByte> ShInOutAttrib1fub;
00736 typedef ShAttrib<1, SH_TEMP, ShFracUByte> ShAttrib1fub;
00737 typedef ShAttrib<1, SH_CONST, ShFracUByte> ShConstAttrib1fub;
00738 typedef ShAttrib<2, SH_INPUT, ShFracUByte> ShInputAttrib2fub;
00739 typedef ShAttrib<2, SH_OUTPUT, ShFracUByte> ShOutputAttrib2fub;
00740 typedef ShAttrib<2, SH_INOUT, ShFracUByte> ShInOutAttrib2fub;
00741 typedef ShAttrib<2, SH_TEMP, ShFracUByte> ShAttrib2fub;
00742 typedef ShAttrib<2, SH_CONST, ShFracUByte> ShConstAttrib2fub;
00743 typedef ShAttrib<3, SH_INPUT, ShFracUByte> ShInputAttrib3fub;
00744 typedef ShAttrib<3, SH_OUTPUT, ShFracUByte> ShOutputAttrib3fub;
00745 typedef ShAttrib<3, SH_INOUT, ShFracUByte> ShInOutAttrib3fub;
00746 typedef ShAttrib<3, SH_TEMP, ShFracUByte> ShAttrib3fub;
00747 typedef ShAttrib<3, SH_CONST, ShFracUByte> ShConstAttrib3fub;
00748 typedef ShAttrib<4, SH_INPUT, ShFracUByte> ShInputAttrib4fub;
00749 typedef ShAttrib<4, SH_OUTPUT, ShFracUByte> ShOutputAttrib4fub;
00750 typedef ShAttrib<4, SH_INOUT, ShFracUByte> ShInOutAttrib4fub;
00751 typedef ShAttrib<4, SH_TEMP, ShFracUByte> ShAttrib4fub;
00752 typedef ShAttrib<4, SH_CONST, ShFracUByte> ShConstAttrib4fub;
00753
00754
00755 typedef ShAttrib<1, SH_INPUT, ShHalf> ShInputAttrib1h;
00756 typedef ShAttrib<1, SH_OUTPUT, ShHalf> ShOutputAttrib1h;
00757 typedef ShAttrib<1, SH_INOUT, ShHalf> ShInOutAttrib1h;
00758 typedef ShAttrib<1, SH_TEMP, ShHalf> ShAttrib1h;
00759 typedef ShAttrib<1, SH_CONST, ShHalf> ShConstAttrib1h;
00760 typedef ShAttrib<2, SH_INPUT, ShHalf> ShInputAttrib2h;
00761 typedef ShAttrib<2, SH_OUTPUT, ShHalf> ShOutputAttrib2h;
00762 typedef ShAttrib<2, SH_INOUT, ShHalf> ShInOutAttrib2h;
00763 typedef ShAttrib<2, SH_TEMP, ShHalf> ShAttrib2h;
00764 typedef ShAttrib<2, SH_CONST, ShHalf> ShConstAttrib2h;
00765 typedef ShAttrib<3, SH_INPUT, ShHalf> ShInputAttrib3h;
00766 typedef ShAttrib<3, SH_OUTPUT, ShHalf> ShOutputAttrib3h;
00767 typedef ShAttrib<3, SH_INOUT, ShHalf> ShInOutAttrib3h;
00768 typedef ShAttrib<3, SH_TEMP, ShHalf> ShAttrib3h;
00769 typedef ShAttrib<3, SH_CONST, ShHalf> ShConstAttrib3h;
00770 typedef ShAttrib<4, SH_INPUT, ShHalf> ShInputAttrib4h;
00771 typedef ShAttrib<4, SH_OUTPUT, ShHalf> ShOutputAttrib4h;
00772 typedef ShAttrib<4, SH_INOUT, ShHalf> ShInOutAttrib4h;
00773 typedef ShAttrib<4, SH_TEMP, ShHalf> ShAttrib4h;
00774 typedef ShAttrib<4, SH_CONST, ShHalf> ShConstAttrib4h;
00775
00776
00777 typedef ShAttrib<1, SH_INPUT, ShInterval<float> > ShInputAttrib1i_f;
00778 typedef ShAttrib<1, SH_OUTPUT, ShInterval<float> > ShOutputAttrib1i_f;
00779 typedef ShAttrib<1, SH_INOUT, ShInterval<float> > ShInOutAttrib1i_f;
00780 typedef ShAttrib<1, SH_TEMP, ShInterval<float> > ShAttrib1i_f;
00781 typedef ShAttrib<1, SH_CONST, ShInterval<float> > ShConstAttrib1i_f;
00782 typedef ShAttrib<2, SH_INPUT, ShInterval<float> > ShInputAttrib2i_f;
00783 typedef ShAttrib<2, SH_OUTPUT, ShInterval<float> > ShOutputAttrib2i_f;
00784 typedef ShAttrib<2, SH_INOUT, ShInterval<float> > ShInOutAttrib2i_f;
00785 typedef ShAttrib<2, SH_TEMP, ShInterval<float> > ShAttrib2i_f;
00786 typedef ShAttrib<2, SH_CONST, ShInterval<float> > ShConstAttrib2i_f;
00787 typedef ShAttrib<3, SH_INPUT, ShInterval<float> > ShInputAttrib3i_f;
00788 typedef ShAttrib<3, SH_OUTPUT, ShInterval<float> > ShOutputAttrib3i_f;
00789 typedef ShAttrib<3, SH_INOUT, ShInterval<float> > ShInOutAttrib3i_f;
00790 typedef ShAttrib<3, SH_TEMP, ShInterval<float> > ShAttrib3i_f;
00791 typedef ShAttrib<3, SH_CONST, ShInterval<float> > ShConstAttrib3i_f;
00792 typedef ShAttrib<4, SH_INPUT, ShInterval<float> > ShInputAttrib4i_f;
00793 typedef ShAttrib<4, SH_OUTPUT, ShInterval<float> > ShOutputAttrib4i_f;
00794 typedef ShAttrib<4, SH_INOUT, ShInterval<float> > ShInOutAttrib4i_f;
00795 typedef ShAttrib<4, SH_TEMP, ShInterval<float> > ShAttrib4i_f;
00796 typedef ShAttrib<4, SH_CONST, ShInterval<float> > ShConstAttrib4i_f;
00797
00798
00799 typedef ShAttrib<1, SH_INPUT, ShFracShort> ShInputAttrib1fs;
00800 typedef ShAttrib<1, SH_OUTPUT, ShFracShort> ShOutputAttrib1fs;
00801 typedef ShAttrib<1, SH_INOUT, ShFracShort> ShInOutAttrib1fs;
00802 typedef ShAttrib<1, SH_TEMP, ShFracShort> ShAttrib1fs;
00803 typedef ShAttrib<1, SH_CONST, ShFracShort> ShConstAttrib1fs;
00804 typedef ShAttrib<2, SH_INPUT, ShFracShort> ShInputAttrib2fs;
00805 typedef ShAttrib<2, SH_OUTPUT, ShFracShort> ShOutputAttrib2fs;
00806 typedef ShAttrib<2, SH_INOUT, ShFracShort> ShInOutAttrib2fs;
00807 typedef ShAttrib<2, SH_TEMP, ShFracShort> ShAttrib2fs;
00808 typedef ShAttrib<2, SH_CONST, ShFracShort> ShConstAttrib2fs;
00809 typedef ShAttrib<3, SH_INPUT, ShFracShort> ShInputAttrib3fs;
00810 typedef ShAttrib<3, SH_OUTPUT, ShFracShort> ShOutputAttrib3fs;
00811 typedef ShAttrib<3, SH_INOUT, ShFracShort> ShInOutAttrib3fs;
00812 typedef ShAttrib<3, SH_TEMP, ShFracShort> ShAttrib3fs;
00813 typedef ShAttrib<3, SH_CONST, ShFracShort> ShConstAttrib3fs;
00814 typedef ShAttrib<4, SH_INPUT, ShFracShort> ShInputAttrib4fs;
00815 typedef ShAttrib<4, SH_OUTPUT, ShFracShort> ShOutputAttrib4fs;
00816 typedef ShAttrib<4, SH_INOUT, ShFracShort> ShInOutAttrib4fs;
00817 typedef ShAttrib<4, SH_TEMP, ShFracShort> ShAttrib4fs;
00818 typedef ShAttrib<4, SH_CONST, ShFracShort> ShConstAttrib4fs;
00819
00820
00821 typedef ShAttrib<1, SH_INPUT, ShFracInt> ShInputAttrib1fi;
00822 typedef ShAttrib<1, SH_OUTPUT, ShFracInt> ShOutputAttrib1fi;
00823 typedef ShAttrib<1, SH_INOUT, ShFracInt> ShInOutAttrib1fi;
00824 typedef ShAttrib<1, SH_TEMP, ShFracInt> ShAttrib1fi;
00825 typedef ShAttrib<1, SH_CONST, ShFracInt> ShConstAttrib1fi;
00826 typedef ShAttrib<2, SH_INPUT, ShFracInt> ShInputAttrib2fi;
00827 typedef ShAttrib<2, SH_OUTPUT, ShFracInt> ShOutputAttrib2fi;
00828 typedef ShAttrib<2, SH_INOUT, ShFracInt> ShInOutAttrib2fi;
00829 typedef ShAttrib<2, SH_TEMP, ShFracInt> ShAttrib2fi;
00830 typedef ShAttrib<2, SH_CONST, ShFracInt> ShConstAttrib2fi;
00831 typedef ShAttrib<3, SH_INPUT, ShFracInt> ShInputAttrib3fi;
00832 typedef ShAttrib<3, SH_OUTPUT, ShFracInt> ShOutputAttrib3fi;
00833 typedef ShAttrib<3, SH_INOUT, ShFracInt> ShInOutAttrib3fi;
00834 typedef ShAttrib<3, SH_TEMP, ShFracInt> ShAttrib3fi;
00835 typedef ShAttrib<3, SH_CONST, ShFracInt> ShConstAttrib3fi;
00836 typedef ShAttrib<4, SH_INPUT, ShFracInt> ShInputAttrib4fi;
00837 typedef ShAttrib<4, SH_OUTPUT, ShFracInt> ShOutputAttrib4fi;
00838 typedef ShAttrib<4, SH_INOUT, ShFracInt> ShInOutAttrib4fi;
00839 typedef ShAttrib<4, SH_TEMP, ShFracInt> ShAttrib4fi;
00840 typedef ShAttrib<4, SH_CONST, ShFracInt> ShConstAttrib4fi;
00841
00842
00843 typedef ShAttrib<1, SH_INPUT, unsigned int> ShInputAttrib1ui;
00844 typedef ShAttrib<1, SH_OUTPUT, unsigned int> ShOutputAttrib1ui;
00845 typedef ShAttrib<1, SH_INOUT, unsigned int> ShInOutAttrib1ui;
00846 typedef ShAttrib<1, SH_TEMP, unsigned int> ShAttrib1ui;
00847 typedef ShAttrib<1, SH_CONST, unsigned int> ShConstAttrib1ui;
00848 typedef ShAttrib<2, SH_INPUT, unsigned int> ShInputAttrib2ui;
00849 typedef ShAttrib<2, SH_OUTPUT, unsigned int> ShOutputAttrib2ui;
00850 typedef ShAttrib<2, SH_INOUT, unsigned int> ShInOutAttrib2ui;
00851 typedef ShAttrib<2, SH_TEMP, unsigned int> ShAttrib2ui;
00852 typedef ShAttrib<2, SH_CONST, unsigned int> ShConstAttrib2ui;
00853 typedef ShAttrib<3, SH_INPUT, unsigned int> ShInputAttrib3ui;
00854 typedef ShAttrib<3, SH_OUTPUT, unsigned int> ShOutputAttrib3ui;
00855 typedef ShAttrib<3, SH_INOUT, unsigned int> ShInOutAttrib3ui;
00856 typedef ShAttrib<3, SH_TEMP, unsigned int> ShAttrib3ui;
00857 typedef ShAttrib<3, SH_CONST, unsigned int> ShConstAttrib3ui;
00858 typedef ShAttrib<4, SH_INPUT, unsigned int> ShInputAttrib4ui;
00859 typedef ShAttrib<4, SH_OUTPUT, unsigned int> ShOutputAttrib4ui;
00860 typedef ShAttrib<4, SH_INOUT, unsigned int> ShInOutAttrib4ui;
00861 typedef ShAttrib<4, SH_TEMP, unsigned int> ShAttrib4ui;
00862 typedef ShAttrib<4, SH_CONST, unsigned int> ShConstAttrib4ui;
00863
00864
00865
00866 }
00867 #include "ShGenericImpl.hpp"
00868 #include "ShAttribImpl.hpp"
00869
00870 #endif // SH_SHATTRIB_HPP