mirror of
https://github.com/wfjm/w11.git
synced 2026-02-10 18:40:28 +00:00
70 lines
1.9 KiB
C++
70 lines
1.9 KiB
C++
// $Id: RtclSetList.hpp 983 2018-01-02 20:35:59Z mueller $
|
|
//
|
|
// Copyright 2013-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
|
//
|
|
// This program is free software; you may redistribute and/or modify it under
|
|
// the terms of the GNU General Public License as published by the Free
|
|
// Software Foundation, either version 3, or (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful, but
|
|
// WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
|
|
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
// for complete details.
|
|
//
|
|
// Revision History:
|
|
// Date Rev Version Comment
|
|
// 2015-01-08 631 1.1 add Clear()
|
|
// 2013-02-12 487 1.0 Initial version
|
|
// ---------------------------------------------------------------------------
|
|
|
|
/*!
|
|
\file
|
|
\brief Declaration of class \c RtclSetList.
|
|
*/
|
|
|
|
#ifndef included_Retro_RtclSetList
|
|
#define included_Retro_RtclSetList 1
|
|
|
|
#include "tcl.h"
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
#include <map>
|
|
|
|
#include "boost/utility.hpp"
|
|
#include "boost/function.hpp"
|
|
|
|
#include "RtclSet.hpp"
|
|
#include "librtcltools/RtclArgs.hpp"
|
|
|
|
namespace Retro {
|
|
|
|
class RtclSetList : private boost::noncopyable {
|
|
public:
|
|
RtclSetList();
|
|
virtual ~RtclSetList();
|
|
|
|
void Add(const std::string& name, RtclSetBase* pset);
|
|
|
|
template <class TP>
|
|
void Add(const std::string& name,
|
|
const boost::function<void(TP)>& set);
|
|
|
|
void Clear();
|
|
int M_set(RtclArgs& args);
|
|
|
|
protected:
|
|
typedef std::map<std::string, RtclSetBase*> map_t;
|
|
typedef map_t::iterator map_it_t;
|
|
typedef map_t::const_iterator map_cit_t;
|
|
typedef map_t::value_type map_val_t;
|
|
|
|
map_t fMap;
|
|
};
|
|
|
|
} // end namespace Retro
|
|
|
|
#include "RtclSetList.ipp"
|
|
|
|
#endif
|