/** \file
\brief PacketImpl public header */
-#ifndef HH_PacketImpl_
-#define HH_PacketImpl_ 1
+#ifndef HH_SENF_Packets_PacketImpl_
+#define HH_SENF_Packets_PacketImpl_ 1
// Custom includes
#include <memory>
static bool const Complex = boost::is_base_of<ComplexAnnotation, Annotation>::value;
static bool const Small = (sizeof(Annotation) <= sizeof(AnnotationEntry) && ! Complex);
+# 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
|| Complex ));
# endif
+# endif
};
template <class Annotation, bool Small = AnnotationIndexer<Annotation>::Small>
void erase(PacketData * self, iterator first, iterator last);
void clear(PacketData * self);
+ void reserve(size_type n);
+ size_type capacity() const;
+
// Annotations
template <class Annotation>
Annotation & annotation();
///////////////////////////////hh.e////////////////////////////////////////
#endif
-#if !defined(HH_Packets__decls_) && !defined(HH_PacketImpl_i_)
-#define HH_PacketImpl_i_
+#if !defined(HH_SENF_Packets_Packets__decls_) && !defined(HH_SENF_Packets_PacketImpl_i_)
+#define HH_SENF_Packets_PacketImpl_i_
#include "PacketImpl.cci"
//#include "PacketImpl.ct"
#include "PacketImpl.cti"