13 #ifndef OGLPLUS_FWD_1107121519_HPP
14 #define OGLPLUS_FWD_1107121519_HPP
16 #include <oglplus/config/compiler.hpp>
17 #include <type_traits>
42 template <
typename T, std::
size_t N>
45 template <
typename T, std::
size_t N>
48 template <
typename T, std::
size_t N>
51 template <
typename T, std::
size_t N>
54 template <
typename T, std::
size_t N>
62 template <
typename T, std::
size_t Rows, std::
size_t Cols>
65 template <
typename T, std::
size_t R, std::
size_t C>
68 template <
typename T, std::
size_t R, std::
size_t C>
71 template <
typename T, std::
size_t R, std::
size_t C>
74 template <
typename T, std::
size_t R, std::
size_t C>
77 template <
typename T, std::
size_t R, std::
size_t C>
127 struct DirectStateEXT;
131 template <
typename X>
135 template <
typename ObjTag>
138 template <
typename ObjName>
141 template <
typename ObjTag>
144 template <
typename OpsTag,
typename ObjTag>
147 template <
typename ObjTag>
150 template <
typename ObjTag>
153 template <
typename ObjTag>
156 template <
typename OpsTag,
typename ObjTag>
159 template <
typename CommonOps>
162 template <
typename ObjectOps>
165 template <
typename ObjTag>
166 struct ObjectSubtype;
168 template <
typename Target>
169 struct ObjectTargetTag;
171 template <
typename ObjectT>
174 template <
typename ObjectT>
179 template <
typename X>
182 template <
typename Object>
185 template <
typename Object>
190 template <
typename VarTag>
200 template <
typename VarTag>
203 template <
typename VarTag>
204 class ProgVarTypeOps;
206 template <
typename ChkTag,
typename VarTag>
207 class ProgVarTypecheck;
209 template <
typename OpsTag,
typename VarTag,
typename TypTag>
210 class ProgVarSetters;
212 template <
typename OpsTag,
typename T>
213 class ProgVarCallers;
215 template <
typename VarTag>
216 class ProgVarCommonOps;
218 template <
typename OpsTag,
typename VarTag,
typename T>
219 class ProgVarGetSetOps;
221 template <
typename OpsTag,
typename VarTag,
typename ChkTag,
typename T>
224 template <
typename OpsTg,
typename VarTg,
typename ChkTg,
typename T>
225 struct Classify<
ProgVar<OpsTg, VarTg, ChkTg, T>>
228 typedef tag::ProgVar Tag;
229 typedef OpsTg OpsTag;
230 typedef VarTg VarTag;
231 typedef ChkTg ChkTag;
235 template <
typename ProgVar>
238 template <
typename ProgVar>
243 #endif // include guard
Common base class for Object name sequences.
Definition: fwd.hpp:139
Template class for quaternions.
Definition: fwd.hpp:59
Object< PerfMonitorAMDOps > PerfMonitorAMD
An oglplus_object encapsulating the performance monitor functionality.
Definition: AMD_performance_monitor.hpp:503
Class implementing planar angle-related functionality.
Definition: fwd.hpp:24
Object< TransformFeedbackOps > TransformFeedback
An oglplus_object encapsulating the OpenGL transform feedback functionality.
Definition: transform_feedback.hpp:408
Object< TextureOps > Texture
An oglplus_object encapsulating the texture object functionality.
Definition: texture.hpp:3217
Wrapper encapsulating program variable location/index.
Definition: fwd.hpp:191
Object< SamplerOps > Sampler
An oglplus_object encapsulating the OpenGL sampler functionality.
Definition: sampler.hpp:877
Implements operations applicable to named (non-zero) objects.
Definition: wrap_tpl.hpp:45
Object< ProgramPipelineOps > ProgramPipeline
An oglplus_object encapsulating the OpenGL program pipeline functionality.
Definition: program_pipeline.hpp:348
Specialization of ProgVar for subroutines.
Definition: uniform_subroutines.hpp:114
Implements operations applicable to any object including object 0 (zero)
Definition: fwd.hpp:157
Object< QueryOps > Query
An oglplus_object encapsulating the asynchronous query functionality.
Definition: query.hpp:537
An object encasulating the shader object functionality.
Definition: shader.hpp:363
Program variable (vertex attrib / uniform ) wrapper.
Definition: fwd.hpp:222
Object< ProgramOps > Program
An oglplus_object encapsulating the program object functionality.
Definition: program.hpp:867
Base template for Matrix.
Definition: fwd.hpp:63
Object< BufferOps > Buffer
An oglplus_object encapsulating the OpenGL buffer functionality.
Definition: buffer.hpp:1056
Implements operations applicable to any object and any operation kind.
Definition: fwd.hpp:151
Basic template for vector types.
Definition: fwd.hpp:43
Allows to allocate and manage several instances of Object at the same time.
Definition: fwd.hpp:183
Object< FramebufferOps > Framebuffer
An oglplus_object encapsulating the framebuffer object functionality.
Definition: framebuffer.hpp:733
A common template for "named" objects like textures, buffers, etc.
Definition: fwd.hpp:136
Object< VertexArrayOps > VertexArray
An oglplus_object encapsulating vertex array object functionality.
Definition: vertex_array.hpp:150
Object< PathNVOps > PathNV
An oglplus_object encapsulating the nVidia path functionality.
Definition: path.hpp:1019
Allows to make managed copies of instances of Object.
Definition: fwd.hpp:172
Object< RenderbufferOps > Renderbuffer
An oglplus_object encapsulating the renderbuffer object functionality.
Definition: renderbuffer.hpp:401