// $Id$
//
-// Copyright (C) 2007
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
/** \file
\brief StreamRegistry public header */
-#ifndef HH_StreamRegistry_
-#define HH_StreamRegistry_ 1
+#ifndef HH_SENF_Utils_Logger_StreamRegistry_
+#define HH_SENF_Utils_Logger_StreamRegistry_ 1
// Custom includes
#include <map>
#include <functional>
+#include <ext/functional>
#include <boost/iterator/transform_iterator.hpp>
#include "Levels.hh"
#include "../singleton.hh"
{
typedef std::map<std::string, detail::StreamBase const *> Registry;
- struct SelectName
- {
- typedef std::string result_type;
- std::string const & operator()(Registry::value_type const & v) const;
- };
-
public:
- typedef boost::transform_iterator<SelectName, Registry::const_iterator> iterator;
+ typedef boost::transform_iterator< ::__gnu_cxx::select1st<Registry::value_type>,
+ Registry::const_iterator > iterator;
# ifdef DOXYGEN
- // Hmm ... doxygen does not understand using declarations ...
+ // Hmm ... doxygen does not understand 'using declarations' ...
/// Access stream registry singleton instance
static AreaRegistry & instance();
# endif
iterator begin();
iterator end();
+ detail::StreamBase const * lookup(std::string const & name);
+
private:
StreamRegistry();