12 #ifndef ECL_CONCEPTS_CONCEPTS_CONTAINERS_HPP_    13 #define ECL_CONCEPTS_CONCEPTS_CONTAINERS_HPP_    20 #include <ecl/type_traits/fundamental_types.hpp>    36 template <
typename Implementation>
    37 class ContainerConcept {
    63         typename Implementation::iterator 
iter;
    68 template <
typename Implementation>
    69 class DynamicContainerConcept {
    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>
   237 class UnsignedByteContainerConcept {
   251                 typedef typename Implementation::value_type element_type;
   257                 concepts::UnsignedByteTestCheck<element_type> char_test;
   265         typename Implementation::iterator 
iter;
   271 template <
typename Implementation>
   272 class SignedByteContainerConcept {
   286                 typedef typename Implementation::value_type element_type;
   292                 concepts::SignedByteTestCheck<element_type> char_test;
   299         typename Implementation::iterator 
iter;
   307 template <
typename Implementation>
   308 class ByteContainerConcept {
   322                 typedef typename Implementation::value_type element_type;
   328                 concepts::ByteTest<element_type> char_test;
   336         typename Implementation::iterator 
iter;
 
Pre-processed macro definitions that define the target platform. 
ecl_compile_time_concept_test(ContainerConcept)
Implementation::iterator iter