glbinding  2.1.1.000000000000
A C++ binding for the OpenGL API, generated using the gl.xml specification.
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 
15 namespace glbinding
16 {
17 
18 class AbstractFunction;
19 class Version;
20 
25 class GLBINDING_API Meta
26 {
27 public:
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 
268 private:
282  static size_t alphabeticalGroupIndex(const std::string & identifier, std::uint8_t prefixLength);
283 };
284 
285 
286 } // namespace gl
Contains all the classes of glbinding.
Provisioning of meta information about OpenGL extensions, functions and conversion of strings and sym...
Definition: Meta.h:25
The Version class represents an OpenGL feature, consisting of majow version and minor version...
Definition: Version.h:30