CmFwdDeclUtil.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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 AxisAlignedBox;
  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 Color;
  23. class DynLib;
  24. class DynLibManager;
  25. class DataStream;
  26. class MemoryDataStream;
  27. class FileDataStream;
  28. class MeshData;
  29. class FileSystem;
  30. class Timer;
  31. class PixelData;
  32. // Reflection
  33. class IReflectable;
  34. class RTTITypeBase;
  35. // Serialization
  36. class ISerializable;
  37. class SerializableType;
  38. typedef std::shared_ptr<DataStream> DataStreamPtr;
  39. typedef std::shared_ptr<MemoryDataStream> MemoryDataStreamPtr;
  40. typedef std::shared_ptr<FileDataStream> FileDataStreamPtr;
  41. typedef std::shared_ptr<MeshData> MeshDataPtr;
  42. typedef std::shared_ptr<PixelData> PixelDataPtr;
  43. }