#include <boost/type_traits/has_trivial_destructor.hpp>
#include <boost/static_assert.hpp>
#include <senf/Utils/pool_alloc_mixin.hh>
-#include "PacketTypes.hh"
#include <senf/Utils/singleton.hh>
//#include "PacketImpl.mpp"
};
template <class Annotation>
- struct AnnotationIndexer
- : public senf::singleton< AnnotationIndexer<Annotation> >,
+ struct AnnotationIndexer
+ : public senf::singleton< AnnotationIndexer<Annotation> >,
public AnnotationIndexerBase
{
AnnotationIndexer();
# if 0 // The test is difficult since it does not work with user-defined trivial constructors
# ifdef BOOST_HAS_TYPE_TRAITS_INTRINSICS
- BOOST_STATIC_ASSERT(( (boost::has_trivial_constructor<Annotation>::value
+ BOOST_STATIC_ASSERT(( (boost::has_trivial_constructor<Annotation>::value
&& boost::has_trivial_destructor<Annotation>::value)
|| Complex ));
void appendInterpreter (PacketInterpreterBase * p);
void prependInterpreter (PacketInterpreterBase * p);
+ void prependInterpreter (PacketInterpreterBase * p, PacketInterpreterBase * before);
void truncateInterpreters (PacketInterpreterBase * p);
void truncateInterpretersBackwards (PacketInterpreterBase * p);
refcount_t refcount_;
raw_container data_;
interpreter_list interpreters_;
-
+
typedef std::vector<AnnotationEntry> Annotations;
Annotations annotations_;