12 #ifndef ECL_CONCEPTS_CONCEPTS_CONTAINERS_HPP_ 13 #define ECL_CONCEPTS_CONCEPTS_CONTAINERS_HPP_ 19 #include <ecl/config/ecl.hpp> 36 template <
typename Implementation>
63 typename Implementation::iterator
iter;
68 template <
typename Implementation>
97 typename Implementation::iterator
iter;
114 template <
typename T,
bool Result=false>
115 class SignedByteTest {
129 template <
typename T>
130 class SignedByteTest<T,true> {
144 template <
typename T,
bool Result=false>
145 class UnsignedByteTest {
147 UnsignedByteTest() {}
159 template <
typename T>
160 class UnsignedByteTest<T,true> {
162 UnsignedByteTest() {}
171 template <
typename T>
172 class SignedByteTestCheck :
public SignedByteTest<T, ecl::is_signed_byte<T>::value > {};
180 template <
typename T>
181 class UnsignedByteTestCheck :
public UnsignedByteTest<T, ecl::is_unsigned_byte<T>::value > {};
191 template <
typename T>
206 class ByteTest<unsigned char> {
214 class ByteTest<char> {
223 class ByteTest<signed char> {
236 template <
typename Implementation>
251 typedef typename Implementation::value_type element_type;
257 concepts::UnsignedByteTestCheck<element_type> char_test;
265 typename Implementation::iterator
iter;
271 template <
typename Implementation>
286 typedef typename Implementation::value_type element_type;
292 concepts::SignedByteTestCheck<element_type> char_test;
299 typename Implementation::iterator
iter;
307 template <
typename Implementation>
322 typedef typename Implementation::value_type element_type;
328 concepts::ByteTest<element_type> char_test;
336 typename Implementation::iterator
iter;
ecl_compile_time_concept_test(DynamicContainerConcept)
Implements a concept test for containers.
Embedded control libraries.
Implementation::iterator iter
Implementation::iterator iter
Defines validating functionality for the byte container concept.
Defines validating functionality for the byte container concept.
ecl_compile_time_concept_test(UnsignedByteContainerConcept)
Implements a concept test for byte containers.
Implementation::iterator iter
ecl_compile_time_concept_test(ByteContainerConcept)
Implements a concept test for byte containers.
ecl_compile_time_concept_test(SignedByteContainerConcept)
Implements a concept test for byte containers.
Mechanisms enabling compile time checking of metaprogramming concepts.
Implementation::iterator iter
Defines validating functionality for the signed byte container concept.
ecl_compile_time_concept_test(ContainerConcept)
Implements a concept test for containers.
Implementation::iterator iter
Defines validating functionality for the dynamic container concept.
Defines validating functionality for the container concept.