Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
typed-id.hpp
Go to the documentation of this file.
1/*
2 TYPED-ID.hpp - registration service for ID to type association
3
4 Copyright (C)
5 2010, 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
37#ifndef ASSET_TYPED_ID_H
38#define ASSET_TYPED_ID_H
39
40
41#include "lib/error.hpp"
42//#include "steam/asset.hpp"
43//#include "steam/asset/struct-scheme.hpp"
44//#include "lib/hash-indexed.hpp"
45//#include "lib/util.hpp"
46#include "lib/symbol.hpp"
47
48#include <memory>
49
50namespace lumiera{
51namespace query {
52
63 template<class TY>
65
66}}
67
68namespace steam {
69namespace asset {
70
71// using std::string;
72// using std::ostream;
73 using lib::Symbol;
74
75// using lumiera::error::LUMIERA_ERROR_WRONG_TYPE;
76
77 LUMIERA_ERROR_DECLARE (MISSING_INSTANCE);
78
79 namespace {
80
81 }
82
83
84
87 class TypedID
88 {
89
90 public:
91
92 template<typename TY>
93 class Link;
94 };
95
96
102 template<typename TY>
104 {
105 protected:
106 Link (Symbol id =0)
107 {
108 TODO ("actually do a registration with TypedID");
109 }
110
112 {
113 TODO ("clean up any TypedID registration for this instance");
114 }
115
116 public:
117 void
118 registerInstance (std::weak_ptr<TY> smart_ptr_instance)
119 {
120 TODO ("actually attach the smart-ptr to the existing TypedID registration");
121 }
122 };
123
124
125
126}} // namespace steam::asset
127#endif
Token or Atom with distinct identity.
Definition symbol.hpp:120
#define LUMIERA_ERROR_DECLARE(err)
Forward declare an error constant.
Definition error.h:62
Lumiera error handling (C++ interface).
Adapter for using this type as a primary type within Lumiera's Steam-Layer.
Definition typed-id.hpp:64
Lumiera public interface.
Definition advice.hpp:102
The asset subsystem of the Steam-Layer.
Steam-Layer implementation namespace root.
Marker types to indicate a literal string and a Symbol.