Lumiera
0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
asset/meta.cpp
Go to the documentation of this file.
1
/*
2
Meta(Asset) - key abstraction: metadata and organisational asset
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
20
#include "
steam/assetmanager.hpp
"
21
#include "
steam/asset/meta.hpp
"
22
#include "
lib/util.hpp
"
23
24
using
lib::idi::EntryID
;
25
26
namespace
steam
{
27
namespace
asset
{
28
29
using
meta::Descriptor;
30
31
namespace
// Implementation details
32
{
34
}
35
36
namespace
meta {
37
38
Descriptor::~Descriptor
() { }
// emit VTable here...
39
40
}
41
42
44
MetaFactory
Meta::create
;
45
46
47
54
template
<
class
MA>
55
meta::Builder<MA>
56
MetaFactory::operator()
(
EntryID<MA>
elementIdentity)
57
{
58
return
meta::Builder<MA>
(elementIdentity.
getSym
());
59
}
60
61
71
template
<
class
MA>
72
meta::Builder<MA>
73
MetaFactory::operator()
(
Descriptor
const
& prototype,
EntryID<MA>
elementIdentity)
74
{
75
UNIMPLEMENTED (
"Meta-Factory: extend or supersede existing meta asset"
);
76
}
77
78
79
80
}}
// namespace steam::asset
81
82
83
84
85
/**************************************************/
86
/* explicit instantiations of the factory methods */
87
/**************************************************/
88
89
#include "
steam/asset/meta/time-grid.hpp
"
90
#include "
steam/asset/meta/error-log.hpp
"
91
92
93
namespace
steam
{
94
namespace
asset
{
95
96
using
meta::Descriptor;
97
using
meta::Builder;
98
using
meta::TimeGrid;
99
100
template
Builder<TimeGrid>
MetaFactory::operator()
(
EntryID<TimeGrid>
);
101
template
Builder<TimeGrid>
MetaFactory::operator()
(Descriptor
const
&,
EntryID<TimeGrid>
);
102
103
using
meta::ErrorLog;
104
105
template
Builder<ErrorLog>
MetaFactory::operator()
(
EntryID<ErrorLog>
);
106
template
Builder<ErrorLog>
MetaFactory::operator()
(Descriptor
const
&,
EntryID<ErrorLog>
);
107
108
}}
// namespace steam::asset
meta.hpp
Internal and organisational metadata.
assetmanager.hpp
Steam-Layer Interface: Asset Lookup and Organisation.
lib::idi::BareEntryID::getSym
string const & getSym() const
Definition
entry-id.hpp:169
steam::asset::MetaFactory
Factory specialised for creating Metadata Asset objects.
Definition
asset/meta.hpp:151
steam::asset::MetaFactory::operator()
meta::Builder< MA > operator()(lib::idi::EntryID< MA > elementIdentity)
Generic factory method for Metadata Asset instances.
Definition
asset/meta.cpp:56
steam::asset::Meta::create
static MetaFactory create
storage for the static MetaFactory instance
Definition
asset/meta.hpp:114
steam::asset::meta::Descriptor
Interface: the unspecific, reflective base of meta assets.
Definition
asset/meta.hpp:82
steam::asset::meta::Descriptor::~Descriptor
virtual ~Descriptor()
this is an Interface
Definition
asset/meta.cpp:38
error-log.hpp
An entity to collect, possibly filter and persist incident records.
steam::asset::meta::Builder
Building and configuring a meta asset.
Definition
asset/meta.hpp:100
steam::asset
The asset subsystem of the Steam-Layer.
steam
Steam-Layer implementation namespace root.
lib::idi::EntryID
typed symbolic and hash ID for asset-like position accounting.
Definition
entry-id.hpp:219
time-grid.hpp
To establish a reference scale for quantised time values.
util.hpp
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
steam
asset
meta.cpp
Generated on Thu Dec 11 2025 for Lumiera by
1.9.8