"senf::ppi::connector::Connector::connect(): (target) "
"duplicate connection" );
- if (! (packetTypeID() == typeid(void) ||
- target.packetTypeID() == typeid(void) ||
- packetTypeID() == target.packetTypeID()) )
+ if (! (v_packetTypeId() == typeid(void) ||
+ target.v_packetTypeId() == typeid(void) ||
+ v_packetTypeId() == target.v_packetTypeId()) )
throw IncompatibleConnectorsException()
- << ": " << prettyName(packetTypeID())
+ << ": " << prettyName(v_packetTypeId())
<< " [in module " << prettyName(typeid(*module_)) << "] "
- << ", " << prettyName(target.packetTypeID())
+ << ", " << prettyName(target.v_packetTypeId())
<< " [in module " << prettyName(typeid(*target.module_)) << "]";
peer_ = & target;
peer.v_disconnected();
}
-prefix_ std::type_info const & senf::ppi::connector::Connector::packetTypeID()
+prefix_ std::type_info const & senf::ppi::connector::Connector::v_packetTypeId()
{
return typeid(void);
}
virtual void v_connected();
private:
- virtual std::type_info const & packetTypeID();
+ virtual std::type_info const & v_packetTypeId();
void setModule(module::Module & module);
using mixin::operator(); \
using mixin::TypedConnector_ ## dir ; \
private: \
- virtual std::type_info const & packetTypeID() \
+ virtual std::type_info const & v_packetTypeId() \
{ return typeid(typename PacketType::type); } \
friend class detail::Typed ## dir ## Mixin<pType ## dir <PacketType>, PacketType>; \
}; \
// structors and default members
-prefix_ senf::PacketInterpreterBase::~PacketInterpreterBase()
-{}
-
prefix_ senf::PacketInterpreterBase::ptr senf::PacketInterpreterBase::clone()
{
detail::PacketImpl::Guard p (new detail::PacketImpl(begin(),end()));
// Custom includes
#include <senf/Utils/senfassert.hh>
-#include <boost/utility.hpp>
#define prefix_ inline
//-/////////////////////////////////////////////////////////////////////////////////////////////////
// Structors and default members
+prefix_ senf::PacketInterpreterBase::~PacketInterpreterBase()
+{}
+
prefix_ senf::PacketInterpreterBase::factory_t senf::PacketInterpreterBase::no_factory()
{
return 0;
// Why is this function reported as not inlineable ?
template <class Parser>
-prefix_ senf::PacketParserBase::size_type senf::detail::packetParserSize(Parser p, ...)
+prefix_ senf::PacketParserBase::size_type senf::detail::packetParserSize(Parser const & p, ...)
{
return Parser::fixed_bytes;
}
// namespace members
template <class Parser>
-prefix_ senf::PacketParserBase::size_type senf::bytes(Parser p)
+prefix_ senf::PacketParserBase::size_type senf::bytes(Parser const & p)
{
return detail::packetParserSize(p,0);
}
template <class Parser>
prefix_ senf::PacketParserBase::size_type
-senf::detail::packetParserSize(Parser p, int, senf::mpl::take_uint<Parser::init_bytes> *)
+senf::detail::packetParserSize(Parser const & p, int, senf::mpl::take_uint<Parser::init_bytes> *)
{
return p.bytes();
}
\ingroup packetparser
*/
template <class Parser>
- PacketParserBase::size_type bytes(Parser p);
+ PacketParserBase::size_type bytes(Parser const & p);
namespace detail { template <class Parser> class ParserInitBytes; }
namespace detail { template <class Parser> class ParserIsFixed; }
// set.
template <class Parser>
PacketParserBase::size_type packetParserSize(
- Parser p, int, senf::mpl::take_uint<Parser::init_bytes> * = 0);
+ Parser const & p, int, senf::mpl::take_uint<Parser::init_bytes> * = 0);
// An ellipsis is always the worst match. A call 'packetParserSize(p,0) will prefer above
// overload if that is not disabled by SFINAE.
template <class Parser>
- PacketParserBase::size_type packetParserSize(Parser p, ...);
+ PacketParserBase::size_type packetParserSize(Parser const & p, ...);
// Same as above: This overload is only enabled, if Parser has an integer values 'init_bytes'
// member.
+++ /dev/null
-// $Id$
-//
-// Copyright (C) 2008
-// Fraunhofer Institute for Open Communication Systems (FOKUS)
-//
-// The contents of this file are subject to the Fraunhofer FOKUS Public License
-// Version 1.0 (the "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-// http://senf.berlios.de/license.html
-//
-// The Fraunhofer FOKUS Public License Version 1.0 is based on,
-// but modifies the Mozilla Public License Version 1.1.
-// See the full license text for the amendments.
-//
-// Software distributed under the License is distributed on an "AS IS" basis,
-// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-// for the specific language governing rights and limitations under the License.
-//
-// The Original Code is Fraunhofer FOKUS code.
-//
-// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V.
-// (registered association), Hansastraße 27 c, 80686 Munich, Germany.
-// All Rights Reserved.
-//
-// Contributor(s):
-// Stefan Bund <g0dil@berlios.de>
-
-/** \file
- \brief intrusive_refcount non-inline non-template implementation */
-
-#include "intrusive_refcount.hh"
-//#include "intrusive_refcount.ih"
-
-// Custom includes
-
-//#include "intrusive_refcount.mpp"
-#define prefix_
-//-/////////////////////////////////////////////////////////////////////////////////////////////////
-
-prefix_ senf::intrusive_refcount_base::~intrusive_refcount_base()
-{}
-
-//-/////////////////////////////////////////////////////////////////////////////////////////////////
-#undef prefix_
-//#include "intrusive_refcount.mpp"
-
-\f
-// Local Variables:
-// mode: c++
-// fill-column: 100
-// comment-column: 40
-// c-file-style: "senf"
-// indent-tabs-mode: nil
-// ispell-local-dictionary: "american"
-// compile-command: "scons -u test"
-// End:
#define prefix_ inline
//-/////////////////////////////////////////////////////////////////////////////////////////////////
+prefix_ senf::intrusive_refcount_base::~intrusive_refcount_base()
+{}
+
prefix_ senf::intrusive_refcount_base::refcount_t senf::intrusive_refcount_base::refcount()
const
{