$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: sebastiengoy_at_[hidden]
Date: 2001-09-27 06:27:22
Hi,
I've been trying to use the concept_chek library, as it seems a very 
interesting design tool. Unluckily, none of my attempts to compile a 
simple test was successful. Hence, I've tried 
the "concept_check_test.cpp" file with the environment and results 
described at the end of this message (to put it in a nutshell, it 
doesn't compile at all). As at least one of my attempts is described 
in the "Compiler Status: win 32" (with only a change of SP), I guess 
that I've done something wrong. Would anyone have an idea of my 
mistake(s)?
Thank you for your time and help,
Sébastien
.System Configuration: Microsoft Windows 32bit, NT 4.0 SP6
.VC++ 6.0
d:\sgoy\boost\boost_1_24_0\boost\concept_check.hpp(574) : error 
C2678: binary '=' : no operator defined which takes a left-hand 
operand of type 'const class boost::assignable_archetype<class 
boost::null_archetype<int> >' (or there is no acceptable c
onversion)
d:\sgoy\boost\boost_1_24_0\boost\concept_check.hpp(571) : while 
compiling class-template member function 'void __thiscall 
boost::Mutable_RandomAccessIteratorConcept<class 
boost::random_access_iterator_archetype<class boost::assignable_archet
ype<class boost::null_archetype<int> > > >::constraints(void)'
.Intel C++ 5.0, MS lib 6.0 
D:\\sgoy\\Boost\\boost_1_24_0\\boost/concept_check.hpp(506): error: 
no operator "=" matches these operands
            operand types are: const 
boost::assignable_archetype<boost::null_archetype<int>> = const 
boost::assignable_archetype<boost::null_archetype<int>>
        *i++ = *i;         // require postincrement and assignment
             ^
          detected during:
            instantiation of "void 
boost::Mutable_ForwardIteratorConcept<TT>::constraints() [with 
TT=boost::forward_iterator_archetype<boost::assignable_archetype<boost
::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_ForwardIteratorConcept<boost::forward_iterator_
archetype<boost::assignable_archetype<boost::null_archetype<int>>>>]" 
D:\\sgoy\\Boost\\boost_1_24_0\\boost/concept_check.hpp(506): error: 
no operator "=" matches these operands
            operand types are: const 
boost::assignable_archetype<boost::null_archetype<int>> = const 
boost::assignable_archetype<boost::null_archetype<int>>
        *i++ = *i;         // require postincrement and assignment
             ^
          detected during:
            instantiation of "void 
boost::Mutable_ForwardIteratorConcept<TT>::constraints() [with 
TT=boost::bidirectional_iterator_archetype<boost::assignable_archetype
<boost::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_ForwardIteratorConcept<boost::bidirectional_ite
rator_archetype<boost::assignable_archetype<boost::null_archetype<int>
>>>]" at line 532
            instantiation of "void 
boost::Mutable_BidirectionalIteratorConcept<TT>::constraints() [with 
TT=boost::bidirectional_iterator_archetype<boost::assignable_archetype
<boost::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_BidirectionalIteratorConcept<boost::bidirection
al_iterator_archetype<boost::assignable_archetype<boost::null_archetyp
e<int>>>>]" 
D:\\sgoy\\Boost\\boost_1_24_0\\boost/concept_check.hpp(533): error: 
no operator "=" matches these operands
            operand types are: const 
boost::assignable_archetype<boost::null_archetype<int>> = const 
boost::assignable_archetype<boost::null_archetype<int>>
        *i-- = *i;                  // require postdecrement and 
assignment
             ^
          detected during:
            instantiation of "void 
boost::Mutable_BidirectionalIteratorConcept<TT>::constraints() [with 
TT=boost::bidirectional_iterator_archetype<boost::assignable_archetype
<boost::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_BidirectionalIteratorConcept<boost::bidirection
al_iterator_archetype<boost::assignable_archetype<boost::null_archetyp
e<int>>>>]" 
D:\\sgoy\\Boost\\boost_1_24_0\\boost/concept_check.hpp(506): error: 
no operator "=" matches these operands
            operand types are: const 
boost::assignable_archetype<boost::null_archetype<int>> = const 
boost::assignable_archetype<boost::null_archetype<int>>
        *i++ = *i;         // require postincrement and assignment
             ^
          detected during:
            instantiation of "void 
boost::Mutable_ForwardIteratorConcept<TT>::constraints() [with 
TT=boost::random_access_iterator_archetype<boost::assignable_archetype
<boost::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_ForwardIteratorConcept<boost::random_access_ite
rator_archetype<boost::assignable_archetype<boost::null_archetype<int>
>>>]" at line 532
            instantiation of "void 
boost::Mutable_BidirectionalIteratorConcept<TT>::constraints() [with 
TT=boost::random_access_iterator_archetype<boost::assignable_archetype
<boost::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_BidirectionalIteratorConcept<boost::random_acce
ss_iterator_archetype<boost::assignable_archetype<boost::null_archetyp
e<int>>>>]" at line 573
            instantiation of "void 
boost::Mutable_RandomAccessIteratorConcept<TT>::constraints() [with 
TT=boost::random_access_iterator_archetype<boost::assignable_archetype
<boost::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_RandomAccessIteratorConcept<boost::random_acces
s_iterator_archetype<boost::assignable_archetype<boost::null_archetype
<int>>>>]" 
D:\\sgoy\\Boost\\boost_1_24_0\\boost/concept_check.hpp(533): error: 
no operator "=" matches these operands
            operand types are: const 
boost::assignable_archetype<boost::null_archetype<int>> = const 
boost::assignable_archetype<boost::null_archetype<int>>
        *i-- = *i;                  // require postdecrement and 
assignment
             ^
          detected during:
            instantiation of "void 
boost::Mutable_BidirectionalIteratorConcept<TT>::constraints() [with 
TT=boost::random_access_iterator_archetype<boost::assignable_archetype
<boost::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_BidirectionalIteratorConcept<boost::random_acce
ss_iterator_archetype<boost::assignable_archetype<boost::null_archetyp
e<int>>>>]" at line 573
            instantiation of "void 
boost::Mutable_RandomAccessIteratorConcept<TT>::constraints() [with 
TT=boost::random_access_iterator_archetype<boost::assignable_archetype
<boost::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_RandomAccessIteratorConcept<boost::random_acces
s_iterator_archetype<boost::assignable_archetype<boost::null_archetype
<int>>>>]" 
D:\\sgoy\\Boost\\boost_1_24_0\\boost/concept_check.hpp(574): error: 
no operator "=" matches these operands
            operand types are: const 
boost::assignable_archetype<boost::null_archetype<int>> = const 
boost::assignable_archetype<boost::null_archetype<int>>
        i[n] = *i;                  // require element access and 
assignment
             ^
          detected during:
            instantiation of "void 
boost::Mutable_RandomAccessIteratorConcept<TT>::constraints() [with 
TT=boost::random_access_iterator_archetype<boost::assignable_archetype
<boost::null_archetype<int>>>]" at line 35
            instantiation of "void boost::function_requires<Concept>
() [with 
Concept=boost::Mutable_RandomAccessIteratorConcept<boost::random_acces
s_iterator_archetype<boost::assignable_archetype<boost::null_archetype
<int>>>>]" 
compilation aborted for D:\temp\ConceptTest\main.cpp (code 2)
. GNU GCC 2.95.3-5, Cygwin 1.3.3
35 d:\sgoy\boost\boost_~2\boost\concept_check.hpp
 instantiated from 
`boost::function_requires<boost::Mutable_ForwardIteratorConcept<boost:
:forward_iterator_archetype<boost::assignable_archetype<boost::null_ar
chetype<int> > > > >()'
154 concept_check_test.cpp
 instantiated from here
506 d:\sgoy\boost\boost_~2\boost\concept_check.hpp
 passing `const 
boost::assignable_archetype<boost::null_archetype<int> >' as `this' 
argument of `class 
boost::assignable_archetype<boost::null_archetype<int> > & 
boost::assignable_archetype<boost::null_archetype<int> >::operator =
(const boost::assignable_archetype<boost::null_archetype<int> > &)' 
discards qualifiers
35 d:\sgoy\boost\boost_~2\boost\concept_check.hpp
 instantiated from 
`boost::function_requires<boost::Mutable_ForwardIteratorConcept<boost:
:bidirectional_iterator_archetype<boost::assignable_archetype<boost::n
ull_archetype<int> > > > >()'
532 d:\sgoy\boost\boost_~2\boost\concept_check.hpp
 instantiated from 
`boost::Mutable_BidirectionalIteratorConcept<boost::bidirectional_iter
ator_archetype<boost::assignable_archetype<boost::null_archetype<int> 
> > >::constraints()'
35 d:\sgoy\boost\boost_~2\boost\concept_check.hpp
 instantiated from 
`boost::function_requires<boost::Mutable_BidirectionalIteratorConcept<
boost::bidirectional_iterator_archetype<boost::assignable_archetype<bo
ost::null_archetype<int> > > > >()'
162 concept_check_test.cpp
 instantiated from here
...