9 #ifndef COMMON_ANGLEUTILS_H_ 10 #define COMMON_ANGLEUTILS_H_ 39 template <
typename T,
size_t N>
45 template <
typename T,
unsigned int N>
48 for (
unsigned int i = 0;
i <
N;
i++)
93 return (memcmp(&a, &b,
sizeof(
T)) < 0);
101 return (memcmp(&a, &b,
sizeof(
T)) == 0);
104 template <
typename T>
107 memset(obj, 0,
sizeof(
T));
110 template <
typename T>
114 return (mask & flag) ==
flag;
119 #pragma clang diagnostic push 120 #pragma clang diagnostic ignored "-Wexit-time-destructors" 121 static std::set<std::string>
strings;
122 #pragma clang diagnostic pop 123 std::set<std::string>::iterator it = strings.find(str);
124 if (it != strings.end())
129 return strings.insert(str).first->c_str();
141 std::stringstream strstr;
152 std::stringstream strstr;
162 template <
typename T>
165 std::ostringstream o;
171 #if defined(_MSC_VER) && _MSC_VER < 1900 172 #define snprintf _snprintf 175 #define GL_BGR565_ANGLEX 0x6ABB 176 #define GL_BGRA4_ANGLEX 0x6ABC 177 #define GL_BGR5_A1_ANGLEX 0x6ABD 178 #define GL_INT_64_ANGLEX 0x6ABE 179 #define GL_STRUCT_ANGLEX 0x6ABF 182 #define EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE 0x6AC0 184 #define ANGLE_TRY_CHECKED_MATH(result) \ 185 if (!result.IsValid()) \ 187 return gl::Error(GL_INVALID_OPERATION, "Integer overflow."); \ 190 #endif // COMMON_ANGLEUTILS_H_ void SafeDelete(T *&resource)
Definition: angleutils.h:65
const char * MakeStaticString(const std::string &str)
Definition: angleutils.h:117
void StructZero(T *obj)
Definition: angleutils.h:105
uint32_t flag
Definition: ssl_lib.c:2732
void operator=(const NonCopyable &)=delete
OPENSSL_EXPORT const ASN1_OBJECT * obj
Definition: x509.h:1053
Definition: float-mm.c:54
bool IsMaskFlagSet(T mask, T flag)
Definition: angleutils.h:111
GLint GLuint mask
Definition: gl2.h:480
void SafeDeleteContainer(T &resource)
Definition: angleutils.h:72
TestSubObjConstructor T
Definition: TestTypedefs.idl:84
Definition: Platform.h:33
_W64 unsigned int uintptr_t
Definition: stdint.h:161
std::string Str(int i)
Definition: angleutils.h:150
EGLAttrib * value
Definition: eglext.h:120
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
std::string ToString(const T &value)
Definition: angleutils.h:163
#define N
Definition: gcc-loops.cpp:14
bool StructEquals(const T &a, const T &b)
Definition: angleutils.h:99
constexpr size_t ArraySize(T(&)[N])
Definition: angleutils.h:40
str
Definition: make-dist.py:305
GLsizei const GLchar *const * string
Definition: gl2.h:479
size_t FormatStringIntoVector(const char *fmt, va_list vararg, std::vector< char > &buffer)
Definition: angleutils.cpp:20
void SafeDeleteArray(T *&resource)
Definition: angleutils.h:82
for i
Definition: complexityMeasures.m:24
const uintptr_t DirtyPointer
Definition: angleutils.cpp:17
#define NULL
Definition: common_types.h:41
std::string FormatString(const char *fmt, va_list vararg)
Definition: angleutils.cpp:37
Definition: angleutils.h:26
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
std::string ArrayString(unsigned int i)
Definition: angleutils.h:132
void SafeRelease(T(&resourceBlock)[N])
Definition: angleutils.h:46
EGLContext EGLenum EGLClientBuffer buffer
Definition: eglext.h:192
GLsizei const GLchar ** strings
Definition: gl2ext.h:1828
bool StructLessThan(const T &a, const T &b)
Definition: angleutils.h:91