CmFwdDeclUtil.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. namespace CamelotFramework {
  3. // Pre-declare classes
  4. // Allows use of pointers in header files without including individual .h
  5. // so decreases dependencies between files
  6. class Angle;
  7. class AABox;
  8. class Degree;
  9. class Math;
  10. class Matrix3;
  11. class Matrix4;
  12. class Plane;
  13. class Quaternion;
  14. class Radian;
  15. class Ray;
  16. class Sphere;
  17. class Vector2;
  18. class Vector3;
  19. class Vector4;
  20. struct Int2;
  21. class Rect;
  22. class FRect;
  23. class Color;
  24. class DynLib;
  25. class DynLibManager;
  26. class DataStream;
  27. class MemoryDataStream;
  28. class FileDataStream;
  29. class MeshData;
  30. class FileSystem;
  31. class Timer;
  32. class PixelData;
  33. // Reflection
  34. class IReflectable;
  35. class RTTITypeBase;
  36. // Serialization
  37. class ISerializable;
  38. class SerializableType;
  39. typedef std::shared_ptr<DataStream> DataStreamPtr;
  40. typedef std::shared_ptr<MemoryDataStream> MemoryDataStreamPtr;
  41. typedef std::shared_ptr<FileDataStream> FileDataStreamPtr;
  42. typedef std::shared_ptr<MeshData> MeshDataPtr;
  43. typedef std::shared_ptr<PixelData> PixelDataPtr;
  44. }