glbinding  3.3.0.0
A C++ binding for the OpenGL API, generated using the gl.xml specification.
Loading...
Searching...
No Matches
Value.h
Go to the documentation of this file.
1
2#pragma once
3
4
5#include <vector>
6#include <memory>
7
8#include <glbinding/glbinding_api.h>
9#include <glbinding/glbinding_features.h>
10
12
13
14namespace glbinding
15{
16
17
28template <typename T>
29class GLBINDING_TEMPLATE_API Value : public AbstractValue
30{
31public:
39 GLBINDING_CONSTEXPR inline Value(const T & value);
40
48 Value & operator=(const Value &) = delete;
49
57 GLBINDING_CONSTEXPR inline T value() const;
58
59protected:
60 const T m_value;
61};
62
63
73template <typename Argument>
74inline std::unique_ptr<AbstractValue> createValue(const Argument & argument);
75
88template <typename... Arguments>
89inline std::vector<std::unique_ptr<AbstractValue>> createValues(Arguments&&... arguments);
90
91
92} // namespace glbinding
93
94
95#include <glbinding/Value.inl>
The AbstractValue class represents the superclass of a printable wrapper around a data type.
Definition AbstractValue.h:19
The Value class represents a printable wrapper around an OpenGL data type.
Definition Value.h:30
Value & operator=(const Value &)=delete
The deleted assigment operator.
const T m_value
The value.
Definition Value.h:60
Contains all the classes of glbinding.
std::vector< std::unique_ptr< AbstractValue > > createValues(Arguments &&... arguments)
A wrapper around the creation of a vector of arguments.
Definition Value.inl:64
std::unique_ptr< AbstractValue > createValue(const Argument &argument)
A wrapper around the type deduction and memory allocation of a specific argument.
Definition Value.inl:58