#define HH_SENF_Packets_VectorParser_ 1
// Custom includes
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/utility.hpp>
-#include <boost/range.hpp>
#include <boost/type_traits.hpp>
#include "PacketParser.hh"
#include "ArrayParser.hh" // for ArrayParser_iterator
#include "AuxParser.hh" // for the AuxPolicies
//#include "VectorParser.mpp"
-///////////////////////////////hh.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
namespace senf {
static const size_type init_bytes = AuxPolicy::aux_bytes;
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
// Container interface
typedef ElementParser value_type;
This is the container wrapper used for vector parsers. The container wrapper will stay valid
after changing the collection. However the container still depends on the packet and will be
invalidated if the Packet is deallocated or if the packet size is changed from without the
- container wrapper (more precisely, it is invalided if the insertion/deletion happens before
+ container wrapper (more precisely, it is invalidated if the insertion/deletion happens before
the vector in the packet data).
The vector container wrapper provides a complete STL random-access sequence interface.
: private AuxPolicy::WrapperPolicy
{
public:
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
// Types
typedef VectorParser<ElementParser,AuxPolicy> parser_type;
typedef iterator const_iterator;
typedef PacketParserBase::state_type state_type;
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
///\name Structors and default members
- ///@{
+ //\{
// no default constructor
// default copy
VectorParser_Container(parser_type const & vector);
- ///@}
- ///////////////////////////////////////////////////////////////////////////
+ //\}
+ //-////////////////////////////////////////////////////////////////////////
///\name Accessors
- ///@{
+ //\{
size_type size() const;
bool empty() const;
value_type front() const;
value_type back() const;
- ///@}
+ //\}
///\name Mutators
- ///@{
+ //\{
iterator shift(iterator pos, size_type n=1);
template <class Value>
void resize (size_type n);
template <class Value> void resize (size_type n, Value value);
- ///@}
+ //\}
///\name Parser interface
- ///@{
+ //\{
parser_type parser() const;
data_iterator i() const;
size_type bytes() const;
void init() const;
- ///@}
+ //\}
protected:
SENF_PARSER_VECTOR_I(protected, name, size, elt_type)
}
-///////////////////////////////hh.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#endif
#if !defined(HH_SENF_Packets_Packets__decls_) && !defined(HH_SENF_Packets_VectorParser_i_)
#define HH_SENF_Packets_VectorParser_i_