Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
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"
28
29#include "lib/meta/typelist.hpp"
31#include "lib/p.hpp"
32
33
34namespace steam {
35 namespace asset { class Asset; }
36 namespace mobject { class MObject; }
37
38
41 > ::List;
42}
43
44namespace lumiera {
45
46
47
62
63
64
65} // namespace lumiera
66#endif
Helper for accessing a value, employing either conversion or downcast, depending on the relation of t...
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
Definition p.hpp:77
enable_if_c< Cond::value, T >::type enable_if
SFINAE helper to control the visibility of specialisations and overloads.
Definition meta/util.hpp:87
Lumiera public interface.
Definition advice.hpp:102
The asset subsystem of the Steam-Layer.
Steam-Layer implementation namespace root.
lib::meta::Types< mobject::Placement< mobject::MObject > *, lib::P< asset::Asset > * > ::List WrapperTypes
Customised refcounting smart pointer.
Core abstraction: placement of a media object into session context.
A template metaprogramming technique for manipulating collections of types.
This file defines a simple alternative to boost::variant.