27#ifndef ETL_FRAME_CHECK_SEQUENCE_INCLUDED
28#define ETL_FRAME_CHECK_SEQUENCE_INCLUDED
31#include "static_assert.h"
38ETL_STATIC_ASSERT(ETL_USING_8BIT_TYPES,
"This file does not currently support targets with no 8bit type");
45 namespace private_frame_check_sequence
51 template <
typename TFCS>
98 template <
typename TPolicy>
103 typedef TPolicy policy_type;
104 typedef typename policy_type::value_type value_type;
122 template<
typename TIterator>
125 ETL_STATIC_ASSERT(
sizeof(
typename etl::iterator_traits<TIterator>::value_type) == 1,
"Type not supported");
136 frame_check = policy.initial();
144 template<
typename TIterator>
147 ETL_STATIC_ASSERT(
sizeof(
typename etl::iterator_traits<TIterator>::value_type) == 1,
"Type not supported");
151 frame_check = policy.add(frame_check, *
begin);
161 frame_check = policy.add(frame_check, value_);
169 return policy.final(frame_check);
175 operator value_type ()
const
177 return policy.final(frame_check);
190 value_type frame_check;
Definition: frame_check_sequence.h:53
void reset()
Resets the FCS to the initial state.
Definition: frame_check_sequence.h:134
add_insert_iterator input()
Gets an add_insert_iterator for input.
Definition: frame_check_sequence.h:183
void add(uint8_t value_)
Definition: frame_check_sequence.h:159
frame_check_sequence(TIterator begin, const TIterator end)
Definition: frame_check_sequence.h:123
void add(TIterator begin, const TIterator end)
Definition: frame_check_sequence.h:145
frame_check_sequence()
Default constructor.
Definition: frame_check_sequence.h:112
value_type value() const
Gets the FCS value.
Definition: frame_check_sequence.h:167
Definition: frame_check_sequence.h:100
is_unsigned
Definition: type_traits_generator.h:1021
bitset_ext
Definition: absolute.h:38
ETL_CONSTEXPR TContainer::iterator begin(TContainer &container)
Definition: iterator.h:931
ETL_CONSTEXPR TContainer::iterator end(TContainer &container)
Definition: iterator.h:961
iterator
Definition: iterator.h:399