OGLplus (0.52.0) a C++ wrapper for OpenGL

object_dsa.hpp
Go to the documentation of this file.
1 
12 #pragma once
13 #ifndef OGLPLUS_CONTEXT_OBJECT_DSA_1404232057_HPP
14 #define OGLPLUS_CONTEXT_OBJECT_DSA_1404232057_HPP
15 
16 #include <oglplus/fwd.hpp>
17 
18 namespace oglplus {
19 namespace context {
20 
22 
25 class ObjectDSA
26 {
27 public:
29  template <typename OpsTag, typename ObjTag>
32  {
33  return object;
34  }
35 
36  template <typename OpsTag, typename ObjTag>
38  Direct(
39  typename ObjectOps<OpsTag, ObjTag>::Target target,
40  const ObjectOps<OpsTag, ObjTag>& object
41  )
42  {
44  result.target = target;
45  return result;
46  }
47 
48  template <typename OpsTag, typename ObjTag>
50  DirectEXT(const ObjectOps<OpsTag, ObjTag>& object)
51  {
52  return object;
53  }
54 
55  template <typename OpsTag, typename ObjTag>
56  static Reference<ObjectOps<tag::DirectStateEXT, ObjTag>>
57  DirectEXT(
58  typename ObjectOps<OpsTag, ObjTag>::Target target,
59  const ObjectOps<OpsTag, ObjTag>& object
60  )
61  {
62  Reference<ObjectOps<tag::DirectStateEXT, ObjTag>> result(object);
63  result.target = target;
64  return result;
65  }
66 };
67 
68 } // namespace context
69 } // namespace oglplus
70 
71 #endif // include guard
Forward declarations.
Implements operations applicable to named (non-zero) objects.
Definition: wrap_tpl.hpp:45
Object direct state access operations.
Definition: object_dsa.hpp:25
static Reference< ObjectOps< tag::DirectState, ObjTag > > Direct(const ObjectOps< OpsTag, ObjTag > &object)
Returns a direct state access wrapper for object.
Definition: object_dsa.hpp:31
Allows to make managed copies of instances of Object.
Definition: fwd.hpp:172

Copyright © 2010-2014 Matúš Chochlík, University of Žilina, Žilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Mon Sep 22 2014 by Doxygen (version 1.8.6).