Boost logo

Boost :

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
...


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk