Lumiera  0.pre.03
»edit your freedom«
engine-ctx-facilities.cpp
1 /*
2  EngineCtxFacilities - Implementation of global render engine operational services
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 
14 
23 
24 //#include <string>
25 //#include <memory>
26 //#include <functional>
27 
28 
29 
30 namespace steam {
31 namespace engine{
32 
33 // using std::string;
34 // using lumiera::Subsys;
35 // using std::function;
36 // using std::bind;
37  using std::make_unique;
38 // using std::ref;
39 
40 
41  namespace { // hidden local details of the service implementation....
42 
43  } // (End) hidden service impl details
44 
45 
46 
47 
48 
51 
52 
53 
54  EngineCtx::~EngineCtx() { }
55 
57  EngineCtx::EngineCtx()
58  : services_{make_unique<Facilities>()}
59  , mem {services_->getMemProvider()}
60  , cache{services_->getCacheProvider()}
61  { }
62 
63 
65  EngineCtx::Facilities::Facilities()
66  : memProvider_{make_unique<TrackingHeapBlockProvider>()}
67  , cacheProvider_{}
68  { }
69 
70 
71 
77 }} // namespace steam::engine
Implementation parts of render engine operational services.
Steam-Layer implementation namespace root.
Access point to singletons and other kinds of dependencies designated by type.
Definition: depend.hpp:280
Dummy implementation of the BufferProvider interface to support writing unit tests.
static lib::Depend< EngineCtx > access
storage for the EngineService interface object
Definition: engine-ctx.hpp:61