glbinding  2.1.1.96dbfd46d679
A C++ binding for the OpenGL API, generated using the gl.xml specification.
glbinding Namespace Reference

Contains all the classes of glbinding. More...

Namespaces

 logging
 

Classes

class  AbstractFunction
 The AbstractFunction represents an OpenGL API function. More...
 
class  AbstractValue
 The AbstractValue class represents the superclass of a printable wrapper around an OpenGL data type. More...
 
class  Binding
 The main interface to handle additional features to OpenGL functions besides regular function calls. More...
 
struct  CallbackType
 A callback signature with return type and multiple arguments. More...
 
struct  CallbackType< void, Arguments... >
 A callback signature with multiple arguments but no return type. More...
 
class  ContextInfo
 The ContextInfo class allows for access to metainformation about a context. The information is only valid for the currently active context. More...
 
class  Function
 The Function represents an OpenGL API function with additional features, including: More...
 
struct  FunctionCall
 A FunctionCall represents a function call of an OpenGL API function, including the parameter and return values. More...
 
struct  intersect_SharedBitfield
 Break condition for the SharedBitfield intersection. More...
 
struct  intersect_SharedBitfield< SharedBitfield< T, Types... >, SharedBitfield< OtherTypes... > >
 The SharedBitfield type list intersection. More...
 
struct  is_member_of_SharedBitfield
 Break condition for the is_member_of_SharedBitfield metaprogramming. More...
 
struct  is_member_of_SharedBitfield< T, U, Types... >
 Test condition and recursion for the is_member_of_SharedBitfield metaprogramming. More...
 
class  Meta
 Provisioning of meta information about OpenGL extensions, functions and conversion of strings and symbols of the OpenGL API. More...
 
struct  prepend_to_SharedBitfield
 Break condition for the SharedBitfield type concatenation. More...
 
struct  prepend_to_SharedBitfield< T, SharedBitfield< Types... > >
 The SharedBitfield type concatenation. More...
 
class  SharedBitfield
 A representation of a bitfield value that could be member of multiple bitfield types as allowed in OpenGL. More...
 
class  SharedBitfield< Type >
 A representation of a bitfield value that could be member of multiple bitfield types as allowed in OpenGL. This template is the break condition of a former SharedBitfield that got reduced to just one valid bitfield type through operations. More...
 
class  SharedBitfield< Type, Types... >
 A representation of a bitfield value that could be member of multiple bitfield types as allowed in OpenGL. More...
 
class  SharedBitfield<>
 Invalid SharedBitfield class as it contains no valid bitfield types. More...
 
class  SharedBitfieldBase
 The base class of a SharedBitfield, containing the actual (and convertible) bitfield value. More...
 
class  Value
 The Value class represents a printable wrapper around an OpenGL data type. More...
 
class  Version
 The Version class represents an OpenGL feature, consisting of majow version and minor version, excluding the profile information. More...
 

Typedefs

using SimpleFunctionCallback = std::function< void(const AbstractFunction &)>
 The callback type of a simple function callback without parameters and return value. More...
 
using FunctionCallback = std::function< void(const FunctionCall &)>
 The callback type of a function callback with parameters and return value. More...
 
using ContextHandle = long long
 The data type of a context handle. More...
 
using ProcAddress) = void(*)(
 The generic pointer to an OpenGL function. More...
 

Enumerations

enum  CallbackMask : unsigned char {
  CallbackMask::None = 0, CallbackMask::Unresolved = 1 << 0, CallbackMask::Before = 1 << 1, CallbackMask::After = 1 << 2,
  CallbackMask::Parameters = 1 << 3, CallbackMask::ReturnValue = 1 << 4, CallbackMask::Logging = 1 << 5, CallbackMask::ParametersAndReturnValue = Parameters | ReturnValue,
  CallbackMask::BeforeAndAfter = Before | After
}
 The CallbackMask is a bitfield to encode the states of callbacks and logging for the OpenGL API function calls. More...
 

Functions

GLBINDING_API CallbackMask operator~ (CallbackMask a)
 External operator for bit-wise CallbackMask inverting. More...
 
GLBINDING_API CallbackMask operator| (CallbackMask a, CallbackMask b)
 External operator for bit-wise 'or' of CallbackMasks. More...
 
GLBINDING_API CallbackMask operator& (CallbackMask a, CallbackMask b)
 External operator for bit-wise 'and' of CallbackMasks. More...
 
GLBINDING_API CallbackMask operator^ (CallbackMask a, CallbackMask b)
 External operator for bit-wise 'xor' of CallbackMasks. More...
 
GLBINDING_API CallbackMaskoperator|= (CallbackMask &a, CallbackMask b)
 External operator for bit-wise 'or' assignment of CallbackMasks. More...
 
GLBINDING_API CallbackMaskoperator&= (CallbackMask &a, CallbackMask b)
 External operator for bit-wise 'and' assignment of CallbackMasks. More...
 
GLBINDING_API CallbackMaskoperator^= (CallbackMask &a, CallbackMask b)
 External operator for bit-wise 'xor' assignment of CallbackMasks. More...
 
GLBINDING_API void setCallbackMask (CallbackMask mask)
 Updates the callback mask of all registered OpenGL functions in the current state. More...
 
GLBINDING_API void setCallbackMaskExcept (CallbackMask mask, const std::set< std::string > &blackList)
 Updates the callback mask of all registered OpenGL functions in the current state, excluding the blacklisted functions. More...
 
GLBINDING_API void addCallbackMask (CallbackMask mask)
 Updates the callback mask of all registered OpenGL functions in the current state to include the passed CallbackMask. More...
 
GLBINDING_API void addCallbackMaskExcept (CallbackMask mask, const std::set< std::string > &blackList)
 Updates the callback mask of all registered OpenGL functions in the current state to include the passed CallbackMask, excluding the blacklisted functions. More...
 
GLBINDING_API void removeCallbackMask (CallbackMask mask)
 Updates the callback mask of all registered OpenGL functions in the current state to exclude the passed CallbackMask. More...
 
GLBINDING_API void removeCallbackMaskExcept (CallbackMask mask, const std::set< std::string > &blackList)
 Updates the callback mask of all registered OpenGL functions in the current state to exclude the passed CallbackMask, excluding the blacklisted functions. More...
 
GLBINDING_API SimpleFunctionCallback unresolvedCallback ()
 Unresolved callback accessor. More...
 
GLBINDING_API void setUnresolvedCallback (SimpleFunctionCallback callback)
 Updates the unresolved callback that is called upon invocation of an OpenGL function which have no counterpart in the OpenGL driver. More...
 
GLBINDING_API FunctionCallback beforeCallback ()
 Before callback accessor. More...
 
GLBINDING_API void setBeforeCallback (FunctionCallback callback)
 Updates the before callback that is called before the actual OpenGL function invocation. More...
 
GLBINDING_API FunctionCallback afterCallback ()
 After callback accessor. More...
 
GLBINDING_API void setAfterCallback (FunctionCallback callback)
 
GLBINDING_API ContextHandle getCurrentContext ()
 Queries the currently active context and returns a handle to it. More...
 
GLBINDING_API ProcAddress getProcAddress (const char *name)
 Loads the function pointer of an OpenGL function and returns it. More...
 
template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type operator| (Enum a, ConvertibleEnum b)
 External bit-wise 'or' operator for bitfield types on the left hand side. More...
 
template<typename ConvertibleEnum , typename Enum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type operator| (ConvertibleEnum a, Enum b)
 External bit-wise 'or' operator for bitfield types on the right hand side. More...
 
template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type operator|= (Enum &a, ConvertibleEnum b)
 External bit-wise 'or' assignment operator for bitfield types on the left hand side. More...
 
template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type operator& (Enum a, ConvertibleEnum b)
 External bit-wise 'and' operator for bitfield types on the left hand side. More...
 
template<typename ConvertibleEnum , typename Enum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type operator& (ConvertibleEnum a, Enum b)
 External bit-wise 'and' operator for bitfield types on the right hand side. More...
 
template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type operator&= (Enum &a, ConvertibleEnum b)
 External bit-wise 'and' assignment operator for bitfield types on the left hand side. More...
 
template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type operator^ (Enum a, ConvertibleEnum b)
 External bit-wise 'xor' operator for bitfield types on the left hand side. More...
 
template<typename ConvertibleEnum , typename Enum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type operator^ (ConvertibleEnum a, Enum b)
 External bit-wise 'xor' operator for bitfield types on the right hand side. More...
 
template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type operator^= (Enum &a, ConvertibleEnum b)
 External bit-wise 'xpyor' assignment operator for bitfield types on the left hand side. More...
 
template<typename Argument >
AbstractValuecreateValue (const Argument &argument)
 A wrapper around the type deduction and memory allocation of a specific argument. More...
 
template<typename... Arguments>
std::vector< AbstractValue * > createValues (Arguments &&...arguments)
 A wrapper around the creation of a vector of arguments. More...
 

Detailed Description

Contains all the classes of glbinding.

TODO: Detailed documentation for glbinding here.

Typedef Documentation

using glbinding::SimpleFunctionCallback = typedef std::function<void(const AbstractFunction &)>

The callback type of a simple function callback without parameters and return value.

using glbinding::FunctionCallback = typedef std::function<void(const FunctionCall &)>

The callback type of a function callback with parameters and return value.

using glbinding::ContextHandle = typedef long long

The data type of a context handle.

using glbinding::ProcAddress = typedef void(*)(

The generic pointer to an OpenGL function.

Enumeration Type Documentation

enum glbinding::CallbackMask : unsigned char
strong

The CallbackMask is a bitfield to encode the states of callbacks and logging for the OpenGL API function calls.

Enumerator
None 

All callbacks and logging is disabled.

Unresolved 

Enables the callback for unresolved function calls.

Before 

Enables the before callbacks.

After 

Enables the after callbacks.

Parameters 

Enables the provision of parameter values in the before and after callbacks.

ReturnValue 

Enables the provision of a return value in the after callback.

Logging 

Enables logging to file.

ParametersAndReturnValue 
BeforeAndAfter 

Function Documentation

GLBINDING_API CallbackMask glbinding::operator~ ( CallbackMask  a)

External operator for bit-wise CallbackMask inverting.

Parameters
[in]aThe CallbackMask to invert.
Returns
The inverted CallbackMask.
GLBINDING_API CallbackMask glbinding::operator| ( CallbackMask  a,
CallbackMask  b 
)

External operator for bit-wise 'or' of CallbackMasks.

Parameters
[in]aThe first CallbackMask.
[in]bThe second CallbackMask.
Returns
The compound CallbackMask.
GLBINDING_API CallbackMask glbinding::operator& ( CallbackMask  a,
CallbackMask  b 
)

External operator for bit-wise 'and' of CallbackMasks.

Parameters
[in]aThe first CallbackMask.
[in]bThe second CallbackMask.
Returns
The compound CallbackMask.
GLBINDING_API CallbackMask glbinding::operator^ ( CallbackMask  a,
CallbackMask  b 
)

External operator for bit-wise 'xor' of CallbackMasks.

Parameters
[in]aThe first CallbackMask.
[in]bThe second CallbackMask.
Returns
The compound CallbackMask.
GLBINDING_API CallbackMask& glbinding::operator|= ( CallbackMask a,
CallbackMask  b 
)

External operator for bit-wise 'or' assignment of CallbackMasks.

Parameters
[in]aThe first CallbackMask.
[in]bThe second CallbackMask.
Returns
The first, now manipulated, CallbackMask.
GLBINDING_API CallbackMask& glbinding::operator&= ( CallbackMask a,
CallbackMask  b 
)

External operator for bit-wise 'and' assignment of CallbackMasks.

Parameters
[in]aThe first CallbackMask.
[in]bThe second CallbackMask.
Returns
The first, now manipulated, CallbackMask.
GLBINDING_API CallbackMask& glbinding::operator^= ( CallbackMask a,
CallbackMask  b 
)

External operator for bit-wise 'xor' assignment of CallbackMasks.

Parameters
[in]aThe first CallbackMask.
[in]bThe second CallbackMask.
Returns
The first, now manipulated, CallbackMask.
GLBINDING_API void glbinding::setCallbackMask ( CallbackMask  mask)

Updates the callback mask of all registered OpenGL functions in the current state.

Parameters
[in]maskThe new CallbackMask.
GLBINDING_API void glbinding::setCallbackMaskExcept ( CallbackMask  mask,
const std::set< std::string > &  blackList 
)

Updates the callback mask of all registered OpenGL functions in the current state, excluding the blacklisted functions.

Parameters
[in]maskThe new CallbackMask.
[in]blackListThe blacklist of functions to exclude in this update.
GLBINDING_API void glbinding::addCallbackMask ( CallbackMask  mask)

Updates the callback mask of all registered OpenGL functions in the current state to include the passed CallbackMask.

Parameters
[in]maskThe CallbackMask to include.
GLBINDING_API void glbinding::addCallbackMaskExcept ( CallbackMask  mask,
const std::set< std::string > &  blackList 
)

Updates the callback mask of all registered OpenGL functions in the current state to include the passed CallbackMask, excluding the blacklisted functions.

Parameters
[in]maskThe CallbackMask to include.
[in]blackListThe blacklist of functions to exclude in this update.
GLBINDING_API void glbinding::removeCallbackMask ( CallbackMask  mask)

Updates the callback mask of all registered OpenGL functions in the current state to exclude the passed CallbackMask.

Parameters
[in]maskThe CallbackMask to exclude.
GLBINDING_API void glbinding::removeCallbackMaskExcept ( CallbackMask  mask,
const std::set< std::string > &  blackList 
)

Updates the callback mask of all registered OpenGL functions in the current state to exclude the passed CallbackMask, excluding the blacklisted functions.

Parameters
[in]maskThe CallbackMask to exclude.
[in]blackListThe blacklist of functions to exclude in this update.
GLBINDING_API SimpleFunctionCallback glbinding::unresolvedCallback ( )

Unresolved callback accessor.

Returns
The callback to use instead of unresolved function calls.

Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the After flag to enable the callback.

GLBINDING_API void glbinding::setUnresolvedCallback ( SimpleFunctionCallback  callback)

Updates the unresolved callback that is called upon invocation of an OpenGL function which have no counterpart in the OpenGL driver.

Parameters
[in]callbackThe callback to use instead of unresolved function calls.

This callback is registered globally across all states. Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the Unresolved flag to enable the callback.

GLBINDING_API FunctionCallback glbinding::beforeCallback ( )

Before callback accessor.

Returns
The callback to use before an OpenGL function call.

Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the After flag to enable the callback.

GLBINDING_API void glbinding::setBeforeCallback ( FunctionCallback  callback)

Updates the before callback that is called before the actual OpenGL function invocation.

Parameters
[in]callbackThe callback to use before an OpenGL function call.

This callback is registered globally across all states. Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the Before flag to enable the callback.

GLBINDING_API FunctionCallback glbinding::afterCallback ( )

After callback accessor.

Returns
The callback to use after an OpenGL function call.

Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the After flag to enable the callback.

GLBINDING_API void glbinding::setAfterCallback ( FunctionCallback  callback)
  • Updates the after callback that is called after the actual OpenGL function invocation.
Parameters
[in]callbackThe callback to use after an OpenGL function call.

This callback is registered globally across all states. Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the After flag to enable the callback.

GLBINDING_API ContextHandle glbinding::getCurrentContext ( )

Queries the currently active context and returns a handle to it.

Returns
The handle to the currently active context.
GLBINDING_API ProcAddress glbinding::getProcAddress ( const char *  name)

Loads the function pointer of an OpenGL function and returns it.

Parameters
[in]nameThe name of the OpenGL function, including the 'gl' prefix.
Returns
The function pointer.

This function doesn't cache previously loaded function pointers.

template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator| ( Enum  a,
ConvertibleEnum  b 
)

External bit-wise 'or' operator for bitfield types on the left hand side.

Template Parameters
EnumThe type of the bitfield
ConvertibleEnumThe SharedBitfield instance
Parameters
[in]aThe value of the bitfield
[in]bThe value of the SharedBitfield
Returns
A SharedBitfield with computed value.

This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.

template<typename ConvertibleEnum , typename Enum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator| ( ConvertibleEnum  a,
Enum  b 
)

External bit-wise 'or' operator for bitfield types on the right hand side.

Template Parameters
ConvertibleEnumThe SharedBitfield instance
EnumThe type of the bitfield
Parameters
[in]aThe value of the SharedBitfield
[in]bThe value of the bitfield
Returns
A SharedBitfield with computed value.

This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.

template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator|= ( Enum &  a,
ConvertibleEnum  b 
)

External bit-wise 'or' assignment operator for bitfield types on the left hand side.

Template Parameters
EnumThe type of the bitfield
ConvertibleEnumThe SharedBitfield instance
Parameters
[in]aThe value of the bitfield
[in]bThe value of the SharedBitfield
Returns
The new value of the bitfield.

This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.

template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator& ( Enum  a,
ConvertibleEnum  b 
)

External bit-wise 'and' operator for bitfield types on the left hand side.

Template Parameters
EnumThe type of the bitfield
ConvertibleEnumThe SharedBitfield instance
Parameters
[in]aThe value of the bitfield
[in]bThe value of the SharedBitfield
Returns
A SharedBitfield with computed value.

This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.

template<typename ConvertibleEnum , typename Enum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator& ( ConvertibleEnum  a,
Enum  b 
)

External bit-wise 'and' operator for bitfield types on the right hand side.

Template Parameters
ConvertibleEnumThe SharedBitfield instance
EnumThe type of the bitfield
Parameters
[in]aThe value of the SharedBitfield
[in]bThe value of the bitfield
Returns
A SharedBitfield with computed value.

This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.

template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator&= ( Enum &  a,
ConvertibleEnum  b 
)

External bit-wise 'and' assignment operator for bitfield types on the left hand side.

Template Parameters
EnumThe type of the bitfield
ConvertibleEnumThe SharedBitfield instance
Parameters
[in]aThe value of the bitfield
[in]bThe value of the SharedBitfield
Returns
The new value of the bitfield.

This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.

template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator^ ( Enum  a,
ConvertibleEnum  b 
)

External bit-wise 'xor' operator for bitfield types on the left hand side.

Template Parameters
EnumThe type of the bitfield
ConvertibleEnumThe SharedBitfield instance
Parameters
[in]aThe value of the bitfield
[in]bThe value of the SharedBitfield
Returns
A SharedBitfield with computed value.

This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.

template<typename ConvertibleEnum , typename Enum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator^ ( ConvertibleEnum  a,
Enum  b 
)

External bit-wise 'xor' operator for bitfield types on the right hand side.

Template Parameters
ConvertibleEnumThe SharedBitfield instance
EnumThe type of the bitfield
Parameters
[in]aThe value of the SharedBitfield
[in]bThe value of the bitfield
Returns
A SharedBitfield with computed value.

This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.

template<typename Enum , typename ConvertibleEnum >
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator^= ( Enum &  a,
ConvertibleEnum  b 
)

External bit-wise 'xpyor' assignment operator for bitfield types on the left hand side.

Template Parameters
EnumThe type of the bitfield
ConvertibleEnumThe SharedBitfield instance
Parameters
[in]aThe value of the bitfield
[in]bThe value of the SharedBitfield
Returns
The new value of the bitfield.

This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.

template<typename Argument >
AbstractValue * glbinding::createValue ( const Argument &  argument)

A wrapper around the type deduction and memory allocation of a specific argument.

Template Parameters
ArgumentThe type of the argument, usually an OpenGL data type.
Parameters
[in]argumentThe argument to wrap into a Value of type Argument.
template<typename... Arguments>
std::vector< AbstractValue * > glbinding::createValues ( Arguments &&...  arguments)

A wrapper around the creation of a vector of arguments.

Template Parameters
ArgumentsThe types of the arguments, usually OpenGL data types.
Parameters
[in]argumentsThe variadic parameter list of all arguments to convert.

Internally uses the createValue function.