17 #ifndef HH_SENF_Packets_VectorParser_ 18 #define HH_SENF_Packets_VectorParser_ 1 21 #include <boost/type_traits/is_convertible.hpp> 57 template <
class ElementParser,
class AuxPolicy>
86 iterator
begin()
const;
90 value_type
front()
const;
91 value_type
back()
const;
99 template <
class InputIterator>
100 void assign(InputIterator first, InputIterator last);
132 template <
class ElementParser,
class AuxPolicy>
134 :
private AuxPolicy::WrapperPolicy
166 size_type
size()
const;
169 iterator
begin()
const;
170 iterator
end()
const;
173 value_type
front()
const;
174 value_type
back()
const;
180 iterator shift(iterator pos, size_type n=1);
181 template <
class Value>
182 void insert(iterator pos, Value
const & t);
183 template <
class Value>
184 void insert(iterator pos, size_type n, Value
const & t);
186 template <
class ForwardIterator>
187 void insert(iterator pos, ForwardIterator f, ForwardIterator l,
188 typename boost::disable_if< boost::is_convertible<ForwardIterator,size_type> >::type * = 0);
190 template <
class ForwardIterator>
191 void insert(iterator pos, ForwardIterator f, ForwardIterator l);
194 void erase(iterator pos, size_type n=1);
195 void erase(iterator f, iterator l);
198 template <
class Value>
void push_back (Value
const & value, size_type n=1);
200 template <
class Value>
void push_front (Value
const & value, size_type n=1);
202 void resize (size_type n);
203 template <
class Value>
void resize (size_type n, Value value);
210 parser_type
parser()
const;
211 data_iterator
i()
const;
212 state_type
state()
const;
215 size_type
bytes()
const;
223 void setSize(size_type value);
289 # define SENF_PARSER_VECTOR(name, size, elt_type) \ 290 SENF_PARSER_VECTOR_I(public, name, size, elt_type) 299 # define SENF_PARSER_PRIVATE_VECTOR(name, size, elt_type) \ 300 SENF_PARSER_VECTOR_I(protected, name, size, elt_type) 305 #if !defined(HH_SENF_Packets_Packets__decls_) && !defined(HH_SENF_Packets_VectorParser_i_) 306 #define HH_SENF_Packets_VectorParser_i_ void push_front(Value const &value, size_type n=1) const
PacketParserBase::difference_type difference_type
PacketParser public header.
container_type container() const
PacketParserBase::size_type size_type
detail::ArrayParser_iterator< value_type > iterator
VectorParser_Container< ElementParser, AuxPolicy > container_type
value_type push_back_space(size_type n=1) const
unspecified_keyword_type parser
Return number of bytes to allocate to new object of given type.
void push_back(Value const &value, size_type n=1) const
value_type operator[](difference_type i) const
PacketParserBase::state_type state_type
Packet data STL-sequence view.
detail::packet::difference_type difference_type
Signed integral type.
data_iterator i() const
Return beginning of data to parse.
value_type push_front_space(size_type n=1) const
detail::packet::size_type size_type
Unsigned integral type.
PacketParserBase::data_iterator data_iterator
void assign(InputIterator first, InputIterator last)
VectorParser container wrapper.
VectorParser< ElementParser, AuxPolicy > parser_type
ArrayParser public header.
Collection of fixed-size elements.
detail::ArrayParser_iterator< value_type > iterator
VectorParser(data_iterator i, state_type s)
PacketData & data() const
Access the packets raw data container.
state_type state() const
Return state of this parser.
::phoenix::function< detail::clear > const clear
detail::packet::iterator data_iterator
Raw data iterator type.
void resize(size_type n) const