Lumiera  0.pre.03
»edit your freedom«
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>
27 using std::string;
28 
29 
30 namespace steam {
31 namespace mobject {
32 namespace 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
virtual void intersect(LocatingSolution &) const
Definition: allocation.cpp:28
Positioning specification, possibly chained to further specifications.
Definition: locatingpin.hpp:88
Steam-Layer implementation namespace root.
Implementing the Placement mechanics.
Namespace of Session and user visible high-level objects.
Definition: sequence.hpp:65
Interface (abstract): any objective, constraint or wish of placing a MObject in a specific way...
Definition: allocation.hpp:39
string repr
human readable representation of the condition characterising this allocation, e.g.
Definition: allocation.hpp:45