13 #ifndef OGLPLUS_OBJECT_NAME_TPL_1107121519_HPP
14 #define OGLPLUS_OBJECT_NAME_TPL_1107121519_HPP
16 #include <oglplus/config/compiler.hpp>
18 #include <type_traits>
29 template <
typename ObjTag>
32 template <
typename ObjTag>
33 typename ObjTag::NameType
46 template <
typename ObjTag>
50 typedef typename ObjTag::NameType NameT;
56 OGLPLUS_NOEXCEPT(
true)
62 OGLPLUS_NOEXCEPT(true)
70 OGLPLUS_NOEXCEPT(true)
76 OGLPLUS_NOEXCEPT(
true)
81 OGLPLUS_NOEXCEPT(
true)
86 OGLPLUS_NOEXCEPT(true)
93 OGLPLUS_NOEXCEPT(
true)
100 OGLPLUS_NOEXCEPT(true)
102 _adopt(std::move(temp));
109 return a._name == b._name;
115 return a._name != b._name;
121 return a._name < b._name;
126 template <
typename ObjTag>
127 inline typename ObjTag::NameType
133 template <
typename X>
136 template <
typename ObjTg>
137 struct Classify<ObjectName<ObjTg>>
139 typedef ObjectName<ObjTg> Base;
140 typedef tag::ObjectName Tag;
141 typedef ObjTg ObjTag;
146 #endif // include guard
ObjectName(NameT name)
Constructs wrapper for the specified name.
Definition: name_tpl.hpp:75
friend bool operator!=(ObjectName a, ObjectName b)
Inequality comparison.
Definition: name_tpl.hpp:113
friend bool operator<(ObjectName a, ObjectName b)
Ordering.
Definition: name_tpl.hpp:119
ObjTag::NameType GetName(ObjectName< ObjTag >)
Returns the base name assigned to named object.
Definition: name_tpl.hpp:128
friend bool operator==(ObjectName a, ObjectName b)
Equality comparison.
Definition: name_tpl.hpp:107
ObjectName(void)
Constructs wrapper for name 0 (zero).
Definition: name_tpl.hpp:69
A common template for "named" objects like textures, buffers, etc.
Definition: fwd.hpp:136