00001
00004 #ifndef FBXFILESDK_FBXFILESDK_NEW_H
00005 #define FBXFILESDK_FBXFILESDK_NEW_H
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
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 #ifdef KARCH_DEV_MSC
00047 #pragma warning(push)
00048 #pragma warning(disable : 4345) //warning C4345: behavior change: an object of POD type constructed with an initializer of the form () will be default-initialized
00049 #define NAMESPACE_FRIEND_WORKAROUND
00050 #endif
00051
00052 #include <new>
00053 #include <stdlib.h>
00054
00055 #include <fbxfilesdk/fbxfilesdk_memory.h>
00056
00057 #ifndef NAMESPACE_FRIEND_WORKAROUND
00058 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00059 #ifdef FBXFILESDK_NAMESPACE_USE
00060 #define _FBXSDK_NAMESPACE FBXFILESDK_NAMESPACE
00061 #endif
00062 #else
00063 #define _FBXSDK_NAMESPACE
00064 #endif
00065
00066
00067
00068 template<typename T> struct SimpleType {
00069 enum {value = 0};
00070 };
00071 template<typename T> struct SimpleType<T *> {
00072 enum {value = 1};
00073 };
00074 template<typename T> struct SimpleType<const T> {
00075 enum {value = SimpleType<T>::value};
00076 };
00077 template<typename T, size_t n> struct SimpleType<T[n]> {
00078 enum {value = SimpleType<T>::value};
00079 };
00080
00081 #define KFBX_SIMPLE_TYPE(T) \
00082 template<> struct SimpleType<T> { \
00083 union { \
00084 T t; \
00085 } catcherr; \
00086 enum {value = 1}; \
00087 }
00088
00089 KFBX_SIMPLE_TYPE (bool);
00090 KFBX_SIMPLE_TYPE (char);
00091 KFBX_SIMPLE_TYPE (unsigned char);
00092 KFBX_SIMPLE_TYPE (short);
00093 KFBX_SIMPLE_TYPE (unsigned short);
00094 KFBX_SIMPLE_TYPE (int);
00095 KFBX_SIMPLE_TYPE (unsigned int);
00096 KFBX_SIMPLE_TYPE (long);
00097 KFBX_SIMPLE_TYPE (unsigned long);
00098 KFBX_SIMPLE_TYPE (float);
00099 KFBX_SIMPLE_TYPE (double);
00100 KFBX_SIMPLE_TYPE (long double);
00101 KFBX_SIMPLE_TYPE (long long);
00102 KFBX_SIMPLE_TYPE (unsigned long long);
00103
00104 #define KFBX_IS_SIMPLE_TYPE(T) ((bool) SimpleType<T>::value)
00105
00106
00107 template<typename T>
00108 T* FbxSdkNew()
00109 {
00110 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00111 return new(p)T();
00112 }
00113 template<typename T, typename T1>
00114 T* FbxSdkNew(T1& p1)
00115 {
00116 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00117 return new(p)T(p1);
00118 }
00119 template<typename T, typename T1>
00120 T* FbxSdkNew(const T1& p1)
00121 {
00122 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00123 return new(p)T(p1);
00124 }
00125 template<typename T, typename T1, typename T2>
00126 T* FbxSdkNew(T1& p1, T2& p2)
00127 {
00128 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00129 return new(p)T(p1, p2);
00130 }
00131 template<typename T, typename T1, typename T2>
00132 T* FbxSdkNew(T1& p1, const T2& p2)
00133 {
00134 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00135 return new(p)T(p1, p2);
00136 }
00137 template<typename T, typename T1, typename T2>
00138 T* FbxSdkNew(const T1& p1, T2& p2)
00139 {
00140 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00141 return new(p)T(p1, p2);
00142 }
00143 template<typename T, typename T1, typename T2>
00144 T* FbxSdkNew(const T1& p1, const T2& p2)
00145 {
00146 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00147 return new(p)T(p1, p2);
00148 }
00149 template<typename T, typename T1, typename T2, typename T3>
00150 T* FbxSdkNew(T1& p1, T2& p2, T3& p3)
00151 {
00152 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00153 return new(p)T(p1, p2, p3);
00154 }
00155 template<typename T, typename T1, typename T2, typename T3>
00156 T* FbxSdkNew(T1& p1, T2& p2, const T3& p3)
00157 {
00158 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00159 return new(p)T(p1, p2, p3);
00160 }
00161 template<typename T, typename T1, typename T2, typename T3>
00162 T* FbxSdkNew(T1& p1, const T2& p2, T3& p3)
00163 {
00164 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00165 return new(p)T(p1, p2, p3);
00166 }
00167 template<typename T, typename T1, typename T2, typename T3>
00168 T* FbxSdkNew(T1& p1, const T2& p2, const T3& p3)
00169 {
00170 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00171 return new(p)T(p1, p2, p3);
00172 }
00173 template<typename T, typename T1, typename T2, typename T3>
00174 T* FbxSdkNew(const T1& p1, T2& p2, T3& p3)
00175 {
00176 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00177 return new(p)T(p1, p2, p3);
00178 }
00179 template<typename T, typename T1, typename T2, typename T3>
00180 T* FbxSdkNew(const T1& p1, T2& p2, const T3& p3)
00181 {
00182 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00183 return new(p)T(p1, p2, p3);
00184 }
00185 template<typename T, typename T1, typename T2, typename T3>
00186 T* FbxSdkNew(const T1& p1, const T2& p2, T3& p3)
00187 {
00188 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00189 return new(p)T(p1, p2, p3);
00190 }
00191 template<typename T, typename T1, typename T2, typename T3>
00192 T* FbxSdkNew(const T1& p1, const T2& p2, const T3& p3)
00193 {
00194 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00195 return new(p)T(p1, p2, p3);
00196 }
00197 template<typename T, typename T1, typename T2, typename T3, typename T4>
00198 T* FbxSdkNew(T1& p1, T2& p2, T3& p3, T4& p4)
00199 {
00200 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00201 return new(p)T(p1, p2, p3, p4);
00202 }
00203 template<typename T, typename T1, typename T2, typename T3, typename T4>
00204 T* FbxSdkNew(T1& p1, T2& p2, T3& p3, const T4& p4)
00205 {
00206 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00207 return new(p)T(p1, p2, p3, p4);
00208 }
00209 template<typename T, typename T1, typename T2, typename T3, typename T4>
00210 T* FbxSdkNew(T1& p1, T2& p2, const T3& p3, T4& p4)
00211 {
00212 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00213 return new(p)T(p1, p2, p3, p4);
00214 }
00215 template<typename T, typename T1, typename T2, typename T3, typename T4>
00216 T* FbxSdkNew(T1& p1, T2& p2, const T3& p3, const T4& p4)
00217 {
00218 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00219 return new(p)T(p1, p2, p3, p4);
00220 }
00221 template<typename T, typename T1, typename T2, typename T3, typename T4>
00222 T* FbxSdkNew(T1& p1, const T2& p2, T3& p3, T4& p4)
00223 {
00224 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00225 return new(p)T(p1, p2, p3, p4);
00226 }
00227 template<typename T, typename T1, typename T2, typename T3, typename T4>
00228 T* FbxSdkNew(T1& p1, const T2& p2, T3& p3, const T4& p4)
00229 {
00230 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00231 return new(p)T(p1, p2, p3, p4);
00232 }
00233 template<typename T, typename T1, typename T2, typename T3, typename T4>
00234 T* FbxSdkNew(T1& p1, const T2& p2, const T3& p3, T4& p4)
00235 {
00236 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00237 return new(p)T(p1, p2, p3, p4);
00238 }
00239 template<typename T, typename T1, typename T2, typename T3, typename T4>
00240 T* FbxSdkNew(T1& p1, const T2& p2, const T3& p3, const T4& p4)
00241 {
00242 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00243 return new(p)T(p1, p2, p3, p4);
00244 }
00245 template<typename T, typename T1, typename T2, typename T3, typename T4>
00246 T* FbxSdkNew(const T1& p1, T2& p2, T3& p3, T4& p4)
00247 {
00248 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00249 return new(p)T(p1, p2, p3, p4);
00250 }
00251 template<typename T, typename T1, typename T2, typename T3, typename T4>
00252 T* FbxSdkNew(const T1& p1, T2& p2, T3& p3, const T4& p4)
00253 {
00254 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00255 return new(p)T(p1, p2, p3, p4);
00256 }
00257 template<typename T, typename T1, typename T2, typename T3, typename T4>
00258 T* FbxSdkNew(const T1& p1, T2& p2, const T3& p3, T4& p4)
00259 {
00260 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00261 return new(p)T(p1, p2, p3, p4);
00262 }
00263 template<typename T, typename T1, typename T2, typename T3, typename T4>
00264 T* FbxSdkNew(const T1& p1, T2& p2, const T3& p3, const T4& p4)
00265 {
00266 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00267 return new(p)T(p1, p2, p3, p4);
00268 }
00269 template<typename T, typename T1, typename T2, typename T3, typename T4>
00270 T* FbxSdkNew(const T1& p1, const T2& p2, T3& p3, T4& p4)
00271 {
00272 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00273 return new(p)T(p1, p2, p3, p4);
00274 }
00275 template<typename T, typename T1, typename T2, typename T3, typename T4>
00276 T* FbxSdkNew(const T1& p1, const T2& p2, T3& p3, const T4& p4)
00277 {
00278 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00279 return new(p)T(p1, p2, p3, p4);
00280 }
00281 template<typename T, typename T1, typename T2, typename T3, typename T4>
00282 T* FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, T4& p4)
00283 {
00284 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00285 return new(p)T(p1, p2, p3, p4);
00286 }
00287 template<typename T, typename T1, typename T2, typename T3, typename T4>
00288 T* FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4)
00289 {
00290 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00291 return new(p)T(p1, p2, p3, p4);
00292 }
00293 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5>
00294 T* FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5)
00295 {
00296 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00297 return new(p)T(p1,p2,p3,p4,p5);
00298 }
00299 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
00300 T* FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5, const T6& p6)
00301 {
00302 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00303 return new(p)T(p1,p2,p3,p4,p5,p6);
00304 }
00305 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
00306 T* FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5, const T6& p6, const T7& p7)
00307 {
00308 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00309 return new(p)T(p1,p2,p3,p4,p5,p6,p7);
00310 }
00311 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
00312 T* FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5, const T6& p6, const T7& p7, const T8& p8)
00313 {
00314 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00315 return new(p)T(p1,p2,p3,p4,p5,p6,p7,p8);
00316 }
00317 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
00318 T* FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5, const T6& p6, const T7& p7, const T8& p8, const T9& p9)
00319 {
00320 T* p = (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T));
00321 return new(p)T(p1,p2,p3,p4,p5,p6,p7,p8,p9);
00322 }
00323
00324 template<typename T>
00325 void FbxSdkDelete(T* p)
00326 {
00327 if (p)
00328 {
00329 ((T*)p)->~T();
00330 FBXFILESDK_NAMESPACE::FbxSdkFree(p);
00331 }
00332 }
00333
00334 template<typename T>
00335 T* FbxSdkNewArray(int n)
00336 {
00337 if (KFBX_IS_SIMPLE_TYPE(T))
00338 {
00339 return (T*)FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T)*n);
00340 }
00341 else
00342 {
00343 void *pTmp = FBXFILESDK_NAMESPACE::FbxSdkMalloc(sizeof(T)*n+sizeof(int));
00344 T* p = (T*)((int*)pTmp+1);
00345 *((int*)pTmp) = n;
00346 for(int i=0;i<n;++i)
00347 new((T*)p+i)T;
00348 return p;
00349 }
00350 }
00351
00352 template<typename T>
00353 void FbxSdkDeleteArray(T* p)
00354 {
00355 if (p)
00356 {
00357 if (!KFBX_IS_SIMPLE_TYPE(T))
00358 {
00359 for(int i=0;i<((int*)p)[-1];++i)
00360 ((T*)p)[i].~T();
00361 FBXFILESDK_NAMESPACE::FbxSdkFree((int*)p-1);
00362 }
00363 else
00364 {
00365 FBXFILESDK_NAMESPACE::FbxSdkFree((void*)p);
00366 }
00367 }
00368 }
00369
00370
00371 #define KFBXNEW_DECLARE_FRIEND \
00372 template<typename T> \
00373 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(); \
00374 template<typename T, typename T1> \
00375 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1); \
00376 template<typename T, typename T1> \
00377 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1); \
00378 template<typename T, typename T1, typename T2> \
00379 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, T2& p2); \
00380 template<typename T, typename T1, typename T2> \
00381 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, const T2& p2); \
00382 template<typename T, typename T1, typename T2> \
00383 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, T2& p2); \
00384 template<typename T, typename T1, typename T2> \
00385 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2); \
00386 template<typename T, typename T1, typename T2, typename T3> \
00387 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, T2& p2, T3& p3); \
00388 template<typename T, typename T1, typename T2, typename T3> \
00389 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, T2& p2, const T3& p3); \
00390 template<typename T, typename T1, typename T2, typename T3> \
00391 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, const T2& p2, T3& p3); \
00392 template<typename T, typename T1, typename T2, typename T3> \
00393 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, const T2& p2, const T3& p3); \
00394 template<typename T, typename T1, typename T2, typename T3> \
00395 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, T2& p2, T3& p3); \
00396 template<typename T, typename T1, typename T2, typename T3> \
00397 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, T2& p2, const T3& p3); \
00398 template<typename T, typename T1, typename T2, typename T3> \
00399 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, T3& p3); \
00400 template<typename T, typename T1, typename T2, typename T3> \
00401 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, const T3& p3); \
00402 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00403 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, T2& p2, T3& p3, T4& p4); \
00404 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00405 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, T2& p2, T3& p3, const T4& p4); \
00406 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00407 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, T2& p2, const T3& p3, T4& p4); \
00408 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00409 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, T2& p2, const T3& p3, const T4& p4); \
00410 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00411 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, const T2& p2, T3& p3, T4& p4); \
00412 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00413 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, const T2& p2, T3& p3, const T4& p4); \
00414 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00415 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, const T2& p2, const T3& p3, T4& p4); \
00416 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00417 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(T1& p1, const T2& p2, const T3& p3, const T4& p4); \
00418 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00419 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, T2& p2, T3& p3, T4& p4); \
00420 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00421 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, T2& p2, T3& p3, const T4& p4); \
00422 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00423 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, T2& p2, const T3& p3, T4& p4); \
00424 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00425 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, T2& p2, const T3& p3, const T4& p4); \
00426 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00427 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, T3& p3, T4& p4); \
00428 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00429 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, T3& p3, const T4& p4); \
00430 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00431 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, T4& p4); \
00432 template<typename T, typename T1, typename T2, typename T3, typename T4> \
00433 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4); \
00434 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5> \
00435 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5); \
00436 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> \
00437 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5, const T6& p6); \
00438 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7> \
00439 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5, const T6& p6, const T7& p7); \
00440 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8> \
00441 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5, const T6& p6, const T7& p7, const T8& p8); \
00442 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9> \
00443 friend T* _FBXSDK_NAMESPACE::FbxSdkNew(const T1& p1, const T2& p2, const T3& p3, const T4& p4, const T5& p5, const T6& p6, const T7& p7, const T8& p8, const T9& p9); \
00444 \
00445 template<typename T> \
00446 friend void _FBXSDK_NAMESPACE::FbxSdkDelete(T* p); \
00447 template<typename T> \
00448 friend T* _FBXSDK_NAMESPACE::FbxSdkNewArray(int n); \
00449 template<typename T> \
00450 friend void _FBXSDK_NAMESPACE::FbxSdkDeleteArray(T* p); \
00451
00452 #ifdef KARCH_DEV_MSC
00453 #pragma warning(pop)
00454 #endif
00455
00456 #ifndef NAMESPACE_FRIEND_WORKAROUND
00457 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00458 #endif
00459
00460 #endif // FBXFILESDK_FBXFILESDK_NEW_H
00461