Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
frameid.hpp
Go to the documentation of this file.
1/*
2 FRAMEID.hpp - distinct identification of a single data frame
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
32#ifndef LUMIERA_FRAMEID_H
33#define LUMIERA_FRAMEID_H
34
35
36#include "lib/integral.hpp"
37#include <compare>
38
39namespace lumiera {
40
41
52 struct NodeID
53 {
58
60 : id (++currID),
61 generation(0),
62 childSum(0)
63 { }
64
65 static ulong currID;
66 };
67
68
69
70
79 class FrameID
80 {
81 long dummy;
82 public:
83 FrameID(long dum=0) : dummy(dum) {}
84 operator long () { return dummy; }
85
86 auto operator<=> (FrameID const&) const =default;
87 };
88
89
90
91
92} // namespace lumiera
93#endif
Identification tuple for addressing frames unambiguously.
Definition frameid.hpp:80
auto operator<=>(FrameID const &) const =default
FrameID(long dum=0)
Definition frameid.hpp:83
Inclusion for common place integral types and constants.
unsigned long int ulong
Definition integral.hpp:31
Lumiera public interface.
Definition advice.hpp:102
Identification tuple for denoting render nodes unambiguously.
Definition frameid.hpp:53
static ulong currID
storage for the unique node-ID counter
Definition frameid.hpp:65