// $Id$
//
// Copyright (C) 2006
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-// Stefan Bund <stefan.bund@fokus.fraunhofer.de>
+// 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
// it under the terms of the GNU General Public License as published by
/** \file
\brief TypeIdValue public header */
-#ifndef HH_TypeIdValue_
-#define HH_TypeIdValue_ 1
+#ifndef HH_SENF_Utils_TypeIdValue_
+#define HH_SENF_Utils_TypeIdValue_ 1
// Custom includes
#include <typeinfo>
bool operator<(TypeIdValue const & other) const;
std::string name() const;
+ std::type_info const & id() const;
protected:
template <class Type> TypeIdValue(Type *);
struct Value {
- virtual ~Value() {}
+ virtual ~Value();
virtual std::type_info const & id() = 0;
virtual Value * clone() = 0;
};
template <class Type>
TypeIdValue const typeIdValue();
+ std::ostream & operator<<(std::ostream & os, TypeIdValue const & v);
}
///////////////////////////////hh.e////////////////////////////////////////