kodi
Classes | Public Member Functions | List of all members
CEGLAttributes< AttributeCount > Class Template Reference

Convenience wrapper for stack-allocated EGL attribute arrays. More...

#include <EGLUtils.h>

Classes

struct  EGLAttribute
 

Public Member Functions

void Add (std::initializer_list< EGLAttribute > const &attributes)
 Add multiple attributes. More...
 
void Add (EGLAttribute const &attribute)
 Add one attribute. More...
 
EGLint const * Get () const
 
int Size () const
 

Detailed Description

template<std::size_t AttributeCount>
class CEGLAttributes< AttributeCount >

Convenience wrapper for stack-allocated EGL attribute arrays.

The wrapper makes sure that the key/value pairs are always written in actual pairs, that the array is always terminated with EGL_NONE, and that the bounds of the array are not exceeded (checked on runtime).

Template Parameters
AttributeCountmaximum number of attributes that can be added. Determines the size of the storage array.

Member Function Documentation

◆ Add() [1/2]

template<std::size_t AttributeCount>
void CEGLAttributes< AttributeCount >::Add ( std::initializer_list< EGLAttribute > const &  attributes)
inline

Add multiple attributes.

The array is automatically terminated with EGL_NONE

Exceptions
std::out_of_rangeif more than AttributeCount attributes are added in total

◆ Add() [2/2]

template<std::size_t AttributeCount>
void CEGLAttributes< AttributeCount >::Add ( EGLAttribute const &  attribute)
inline

Add one attribute.

The array is automatically terminated with EGL_NONE

Exceptions
std::out_of_rangeif more than AttributeCount attributes are added in total

The documentation for this class was generated from the following file: