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