Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
allocation.hpp
Go to the documentation of this file.
1/*
2 ALLOCATION.hpp - objective to place a MObject in a specific way
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
21#ifndef STEAM_MOBJECT_SESSION_ALLOCATION_H
22#define STEAM_MOBJECT_SESSION_ALLOCATION_H
23
25
26#include <string>
27using std::string;
28
29
30namespace steam {
31namespace mobject {
32namespace session {
33
34
39 class Allocation : public LocatingPin
40 {
41 protected:
45 string repr;
46
47 virtual void intersect (LocatingSolution&) const;
48
49 public:
50 const string& getRepr () const { return repr; }
51
52 virtual Allocation* clone () const = 0;
53 };
54
55
56
57}}} // namespace steam::mobject::session
58#endif
Interface (abstract): any objective, constraint or wish of placing a MObject in a specific way.
string repr
human readable representation of the condition characterising this allocation, e.g.
virtual void intersect(LocatingSolution &) const
const string & getRepr() const
virtual Allocation * clone() const =0
Positioning specification, possibly chained to further specifications.
Implementing the Placement mechanics.
Namespace of Session and user visible high-level objects.
Definition sequence.hpp:65
Steam-Layer implementation namespace root.