w11 - cpp 0.794
Backend server for Rlink and w11
Loading...
Searching...
No Matches
Rw11CntlBase.hpp
Go to the documentation of this file.
1// $Id: Rw11CntlBase.hpp 1186 2019-07-12 17:49:59Z mueller $
2// SPDX-License-Identifier: GPL-3.0-or-later
3// Copyright 2013-2019 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4//
5// Revision History:
6// Date Rev Version Comment
7// 2019-05-19 1150 1.0,4 add kNUnit
8// 2018-12-07 1078 1.0.3 use std::shared_ptr instead of boost
9// 2017-04-15 874 1.0.2 add UnitBase()
10// 2017-04-02 865 1.0.1 Dump(): add detail arg
11// 2013-03-06 495 1.0 Initial version
12// 2013-02-14 488 0.1 First draft
13// ---------------------------------------------------------------------------
14
15
20#ifndef included_Retro_Rw11CntlBase
21#define included_Retro_Rw11CntlBase 1
22
23#include <memory>
24
25#include "Rw11Cntl.hpp"
26
27namespace Retro {
28
29 template <class TU, size_t NU>
30 class Rw11CntlBase : public Rw11Cntl {
31 public:
32
33 explicit Rw11CntlBase(const std::string& type);
35
36 virtual size_t NUnit() const;
37 virtual Rw11Unit& UnitBase(size_t index) const;
38 TU& Unit(size_t index) const;
39 const std::shared_ptr<TU>& UnitSPtr(size_t index) const;
40
41 virtual void Dump(std::ostream& os, int ind=0, const char* text=0,
42 int detail=0) const;
43
44 // some constants (no cpp definition, so no references possible)
45 static const size_t kNUnit = NU;
46
47 protected:
48 std::shared_ptr<TU> fspUnit[NU];
49 };
50
51} // end namespace Retro
52
53#include "Rw11CntlBase.ipp"
54
55#endif
Implemenation (inline) of Rw11CntlBase.
static const size_t kNUnit
number of units
virtual Rw11Unit & UnitBase(size_t index) const
FIXME_docs.
virtual void Dump(std::ostream &os, int ind=0, const char *text=0, int detail=0) const
FIXME_docs.
virtual size_t NUnit() const
FIXME_docs.
~Rw11CntlBase()
Destructor.
TU & Unit(size_t index) const
FIXME_docs.
std::shared_ptr< TU > fspUnit[NU]
const std::shared_ptr< TU > & UnitSPtr(size_t index) const
FIXME_docs.
FIXME_docs.
Definition: Rw11Cntl.hpp:42
FIXME_docs.
Definition: Rw11Unit.hpp:39
Declaration of class ReventLoop.
Definition: ReventLoop.cpp:47