Lumiera  0.pre.03
»edit your freedom«
wrapperptr.hpp
Go to the documentation of this file.
1 /*
2  WRAPPERPTR.hpp - variant record able to hold a pointer to some smart-ptr/wrapper types, providing conversions
3 
4  Copyright (C)
5  2008, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 */
13 
14 
22 #ifndef LUMIERA_WRAPPERPTR_H
23 #define LUMIERA_WRAPPERPTR_H
24 
25 
26 #include "lib/variant-o.hpp"
27 #include "lib/access-casted-o.hpp"
28 
29 #include "lib/meta/typelist.hpp"
31 #include "lib/p.hpp"
32 
33 
34 namespace steam {
35  namespace asset { class Asset; }
36  namespace mobject { class MObject; }
37 
38 
41  > ::List
43 }
44 
45 namespace lumiera {
46 
47 
48 
63 
64 
65 
66 } // namespace lumiera
67 #endif
Helper for accessing a value, employing either conversion or downcast, depending on the relation of t...
lib::VariantO< steam::WrapperTypes, util::AccessCasted_O > WrapperPtr
helper to treat various sorts of smart-ptrs uniformly.
Definition: wrapperptr.hpp:62
A template metaprogramming technique for manipulating collections of types.
Core abstraction: placement of a media object into session context.
Customised refcounting smart pointer.
Steam-Layer implementation namespace root.
MObject is the interface class for all "Media Objects".
Definition: mobject.hpp:70
Superinterface describing especially bookkeeping properties.
Definition: asset.hpp:139
Lumiera public interface.
Definition: advice.cpp:104
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
Definition: trait.hpp:71
The asset subsystem of the Steam-Layer.
Definition: wrapperptr.hpp:35
This file defines a simple alternative to boost::variant.