glbinding  2.1.1.000000000000
A C++ binding for the OpenGL API, generated using the gl.xml specification.
Loading...
Searching...
No Matches
Meta.h
Go to the documentation of this file.
1
2#pragma once
3
4#include <string>
5#include <utility>
6#include <vector>
7#include <set>
8#include <cstdint>
9
10#include <glbinding/glbinding_api.h>
11
12#include <glbinding/gl/types.h>
13
14
15namespace glbinding
16{
17
18class AbstractFunction;
19class Version;
20
25class GLBINDING_API Meta
26{
27public:
32 Meta() = delete;
33
41 static int glRevision();
42
53 static gl::GLbitfield getBitfield(const std::string & glbitfield);
54
62 static std::vector<gl::GLbitfield> bitfields();
63
76 static const std::string & getString(gl::GLenum glenum);
77
88 static gl::GLenum getEnum(const std::string & glenum);
89
97 static std::vector<gl::GLenum> enums();
98
111 static const std::string & getString(const gl::GLboolean & glboolean);
112
123 static gl::GLboolean getBoolean(const std::string & glboolean);
124
135 static const std::string & getString(gl::GLextension glextension);
136
147 static gl::GLextension getExtension(const std::string & glextension);
148
156 static std::set<gl::GLextension> extensions();
157
171 static const std::set<gl::GLextension> extensions(const Version & version);
172
183 static const std::set<gl::GLextension> extensions(const std::string & glfunction);
184
196 static const std::set<AbstractFunction *> functions(const Version & version);
197
208 static const std::set<AbstractFunction *> functions(gl::GLextension glextension);
209
220 static const Version & version(gl::GLextension glextension);
221
235 static const Version & getRequiringVersion(gl::GLextension glextension);
236
244 static const std::set<Version> & versions();
245
246 static const std::string & getString(gl::AttribMask glbitfield);
247 static const std::string & getString(gl::BufferAccessMask glbitfield);
248 static const std::string & getString(gl::BufferStorageMask glbitfield);
249 static const std::string & getString(gl::ClearBufferMask glbitfield);
250 static const std::string & getString(gl::ClientAttribMask glbitfield);
251 static const std::string & getString(gl::ContextFlagMask glbitfield);
252 static const std::string & getString(gl::ContextProfileMask glbitfield);
253 static const std::string & getString(gl::FfdMaskSGIX glbitfield);
254 static const std::string & getString(gl::FragmentShaderColorModMaskATI glbitfield);
255 static const std::string & getString(gl::FragmentShaderDestMaskATI glbitfield);
256 static const std::string & getString(gl::FragmentShaderDestModMaskATI glbitfield);
257 static const std::string & getString(gl::MapBufferUsageMask glbitfield);
258 static const std::string & getString(gl::MemoryBarrierMask glbitfield);
259 static const std::string & getString(gl::PathFontStyle glbitfield);
260 static const std::string & getString(gl::PathRenderingMaskNV glbitfield);
261 static const std::string & getString(gl::PerformanceQueryCapsMaskINTEL glbitfield);
262 static const std::string & getString(gl::SyncObjectMask glbitfield);
263 static const std::string & getString(gl::TextureStorageMaskAMD glbitfield);
264 static const std::string & getString(gl::UnusedMask glbitfield);
265 static const std::string & getString(gl::UseProgramStageMask glbitfield);
266 static const std::string & getString(gl::VertexHintsMaskPGI glbitfield);
267
268private:
282 static size_t alphabeticalGroupIndex(const std::string & identifier, std::uint8_t prefixLength);
283};
284
285
286} // namespace gl
Provisioning of meta information about OpenGL extensions, functions and conversion of strings and sym...
Definition Meta.h:26
static const std::string & getString(gl::ContextFlagMask glbitfield)
static const std::set< AbstractFunction * > functions(gl::GLextension glextension)
Returns the set of functions that are required for the extension.
static const std::set< gl::GLextension > extensions(const std::string &glfunction)
Returns the list of extensions that are requiring an OpenGL function.
static gl::GLboolean getBoolean(const std::string &glboolean)
Converts a string to a GLboolean symbol.
static const std::string & getString(gl::AttribMask glbitfield)
static const std::string & getString(gl::UnusedMask glbitfield)
static const std::set< gl::GLextension > extensions(const Version &version)
Returns the set of extensions that are required for by the given version.
static const std::string & getString(gl::FragmentShaderDestMaskATI glbitfield)
static const std::string & getString(gl::ContextProfileMask glbitfield)
static const std::string & getString(gl::ClientAttribMask glbitfield)
static const std::string & getString(gl::BufferAccessMask glbitfield)
static const std::string & getString(gl::FragmentShaderColorModMaskATI glbitfield)
static const Version & getRequiringVersion(gl::GLextension glextension)
Returns the first OpenGL Version (Feature) that required the extension.
static int glRevision()
Returns the revision of the parsed gl.xml file.
static gl::GLenum getEnum(const std::string &glenum)
Converts a string to a GLenum symbol.
static const std::string & getString(gl::MemoryBarrierMask glbitfield)
static const std::string & getString(gl::MapBufferUsageMask glbitfield)
Meta()=delete
Deleted Constructor as all functions are static.
static const std::set< AbstractFunction * > functions(const Version &version)
Returns the set of functions that are required for the version.
static const std::set< Version > & versions()
Returns the list of all Versions (Features) known by the gl.xml.
static gl::GLextension getExtension(const std::string &glextension)
Converts a string to an extension.
static const std::string & getString(gl::FfdMaskSGIX glbitfield)
static const std::string & getString(gl::GLenum glenum)
Converts a GLenum to a string.
static const Version & version(gl::GLextension glextension)
Returns the first OpenGL Version (Feature) that required the extension.
static const std::string & getString(gl::PathFontStyle glbitfield)
static const std::string & getString(gl::PerformanceQueryCapsMaskINTEL glbitfield)
static const std::string & getString(gl::ClearBufferMask glbitfield)
static gl::GLbitfield getBitfield(const std::string &glbitfield)
Converts a string into a bitfield symbol.
static const std::string & getString(gl::UseProgramStageMask glbitfield)
static const std::string & getString(gl::TextureStorageMaskAMD glbitfield)
static const std::string & getString(gl::SyncObjectMask glbitfield)
static const std::string & getString(gl::BufferStorageMask glbitfield)
static std::vector< gl::GLenum > enums()
Returns the list of all enums known by the gl.xml.
static std::set< gl::GLextension > extensions()
Returns the set of all extensions known by the gl.xml.
static std::vector< gl::GLbitfield > bitfields()
Returns the list of all bitfields known by the gl.xml.
static const std::string & getString(gl::VertexHintsMaskPGI glbitfield)
static const std::string & getString(gl::FragmentShaderDestModMaskATI glbitfield)
static const std::string & getString(gl::GLextension glextension)
Converts a GLextension to its string representation.
static const std::string & getString(const gl::GLboolean &glboolean)
Converts a GLboolean to a string.
static const std::string & getString(gl::PathRenderingMaskNV glbitfield)
The Version class represents an OpenGL feature, consisting of majow version and minor version,...
Definition Version.h:31
Contains all the classes of glbinding.