// $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
///////////////////////////////////////////////////////////////////////////
// senf::log::StreamRegistry
-prefix_ std::string const &
-senf::log::StreamRegistry::SelectName::operator()(Registry::value_type const & v)
- const
-{
- return v.first;
-}
-
prefix_ senf::log::StreamRegistry::StreamRegistry()
{}
prefix_ senf::log::StreamRegistry::iterator senf::log::StreamRegistry::begin()
{
- return boost::make_transform_iterator(registry_.begin(), SelectName());
+ return boost::make_transform_iterator(registry_.begin(),
+ ::__gnu_cxx::select1st<Registry::value_type>());
}
prefix_ senf::log::StreamRegistry::iterator senf::log::StreamRegistry::end()
{
- return boost::make_transform_iterator(registry_.end(), SelectName());
+ return boost::make_transform_iterator(registry_.end(),
+ ::__gnu_cxx::select1st<Registry::value_type>());
}
prefix_ void senf::log::StreamRegistry::registerStream(detail::StreamBase const & stream)
registry_.insert( std::make_pair(stream.v_name(), &stream) );
}
+prefix_ senf::log::detail::StreamBase const *
+senf::log::StreamRegistry::lookup(std::string const & name)
+{
+ Registry::iterator i (registry_.find(name));
+ return i == registry_.end() ? 0 : i->second;
+}
+
///////////////////////////////////////////////////////////////////////////
// senf::log::detail::StreamBase