Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
engine-ctx.hpp
Go to the documentation of this file.
1/*
2 ENGINE-CTX.hpp - Services and parameters used globally within the render engine
3
4 Copyright (C)
5 2024, 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
32#ifndef STEAM_ENGINE_ENGINE_CTX_H
33#define STEAM_ENGINE_ENGINE_CTX_H
34
35
36#include "lib/depend.hpp"
38#include "lib/nocopy.hpp"
39
40//#include <utility>
41#include <memory>
42
43
44namespace steam {
45namespace engine {
46
47// using lib::Literal;
48// using std::unique_ptr;
49// using std::forward;
50
53 {
54 class Facilities;
55 std::unique_ptr<Facilities> services_;
56
57 public:
60// BufferProvider& output; /////////////////////////OOO presumably no longer necessary
61
63
64 private:
65 ~EngineCtx();
67
69 };
70
71
72
73}} // namespace steam::engine
74#endif /*STEAM_ENGINE_ENGINE_CTX_H*/
A front-end to support the buffer management within the render nodes.
Access point to singletons and other kinds of dependencies designated by type.
Definition depend.hpp:281
Helper to abstract creation and lifecycle of a dependency.
Definition depend.hpp:127
Interface: a facility providing and managing working buffers for media calculations.
BufferProvider & mem
static lib::Depend< EngineCtx > access
storage for the EngineService interface object
BufferProvider & cache
std::unique_ptr< Facilities > services_
Any copy and copy construction prohibited.
Definition nocopy.hpp:38
Singleton services and Dependency Injection.
Steam-Layer implementation namespace root.
Mix-Ins to allow or prohibit various degrees of copying and cloning.