Go to the documentation of this file.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 #pragma once
00030
00031 #include <iosfwd>
00032 #include <iostream>
00033
00034 class CL_Rect;
00035 class CL_Rectf;
00036 class CL_Rectd;
00037 class CL_Point;
00038 class CL_Pointf;
00039 class CL_Pointd;
00040 class CL_Size;
00041 class CL_Sizef;
00042 class CL_Sized;
00043
00044 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Rect& rect);
00045 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Rectf& rect);
00046 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Rectd& rect);
00047 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Point& point);
00048 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Pointf& point);
00049 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Pointd& point);
00050 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Size& size);
00051 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Sizef& size);
00052
00053 template<typename T>
00054 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Vec1<T>& vec)
00055 {
00056 s << vec.x;
00057 return s;
00058 }
00059
00060 template<typename T>
00061 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Vec2<T>& vec)
00062 {
00063 s << "["
00064 << vec.x << ", "
00065 << vec.y << "]";
00066 return s;
00067 }
00068
00069 template<typename T>
00070 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Vec3<T>& vec)
00071 {
00072 s << "["
00073 << vec.x << ", "
00074 << vec.y << ", "
00075 << vec.z << "]";
00076 return s;
00077 }
00078
00079 template<typename T>
00080 CL_API_CORE std::ostream& operator<<(std::ostream& s, const CL_Vec4<T>& vec)
00081 {
00082 s << "["
00083 << vec.x << ", "
00084 << vec.y << ", "
00085 << vec.z << ", "
00086 << vec.w << "]";
00087 return s;
00088 }
00089