[Dune-devel] [Dune-Commit] [branch] dune-istl - 'master' updated
Oliver Sander
sander at igpm.rwth-aachen.de
Mon Aug 17 14:27:06 CEST 2015
Hi Christian,
> I remember that we had some similar issues with type-tree.
> There seem to be at least three different pitfalls, depending on the
> compiler...
>
> a) template specializations with
> template<typename... Args> foo(const Bar<Args...> & b)
> does not work.
> Solution: write out the first (required) argument
> template<typename A1, typename... Args> foo(const Bar<A1,Args...> & b)
> b) multiple argument packs don't work
> template<typename... Args1, typename... Args2> foo(const Bar<Args1...> & b, const Peng<Args2...> & p)
> Solution: specify them at different levels
> b) return values of "static constexpr" methods, called on an object,
> can not be used as template parameters.
> Solution: caling the methods on the class allow the compiler to
> recognise the values as compile-time values.
>
do you know what the standard says on these issues? Should abc) work in a world
with perfect compilers?
> PS: thanks for initiating this istl cleanup :-)
Believe it or not, I actually need those MultiType classes. :-)
Best,
Oliver
>
> On Mon, Aug 17, 2015 at 06:27:07AM +0200, Oliver Sander wrote:
>> Hi Christian,
>>
>> thank for cleaning up after me. Yes, all the code (well, all code tested by the tests)
>> did work for me (with gcc 4.9.3 from Debian testing). In particular, the specialization
>> with two separate argument packs worked; I was a bit surprised that it did myself.
>> Also, calling static methods with an object worked.
>>
>> Best,
>> Oliver
>>
>> Am 16.08.2015 um 22:59 schrieb Christian Engwer:
>>> I encountered many problems with the recent changes to dune-istl. Did
>>> this code work for you? I'm unsure, whether these a clang related
>>> problems. At least some of the constructs seem to me to be invalid
>>> C++11. This code now works for me with clang. If someone encounters
>>> problems with my changes on his platform, please let me know with
>>> sufficient details.
>>>
>>> On Sun, Aug 16, 2015 at 10:56:30PM +0200, Christian Engwer wrote:
>>>> Christian Engwer <christi at dune-project.org> updated branch 'master' (a8e496e -> c43f8c7)
>>>> at Sun Aug 16 22:56:30 2015 +0200
>>>>
>>>> Browsable log: http://cgit.dune-project.org/repositories/dune-istl/log/?h=master&qt=range&q=a8e496edabd817ae25bb0af1335100efddd3a49c..c43f8c76f9cff56f8063267a7a9d1dd0e7bed9bd
>>>> Complete diff: http://cgit.dune-project.org/repositories/dune-istl/diff/?id=c43f8c76f9cff56f8063267a7a9d1dd0e7bed9bd&id2=a8e496edabd817ae25bb0af1335100efddd3a49c
>>>>
>>>> ======================================================================
>>>>
>>>> via 7b1641f http://cgit.dune-project.org/repositories/dune-istl/commit/?id=7b1641f9108ea914f348acc812ec6992800a12e8
>>>> [istl][multitype] fix argument deduction for clang
>>>> via af33d9f http://cgit.dune-project.org/repositories/dune-istl/commit/?id=af33d9f0cfc982ed8b5547930b51b50f211e7f9f
>>>> [istl][multitype] we don't rely on boost::fusion anymore
>>>> via d9bf558 http://cgit.dune-project.org/repositories/dune-istl/commit/?id=d9bf558379313815c408f887676852cd78b3347e
>>>> [istl][multitype] add missing includes
>>>> via 27dba71 http://cgit.dune-project.org/repositories/dune-istl/commit/?id=27dba71319709719913ac715d6670d32ef401b6c
>>>> fixup boost fusion
>>>> via 35a0284 http://cgit.dune-project.org/repositories/dune-istl/commit/?id=35a02846c8574db966a7f00aea8046502efdbeb8
>>>> [istl][multitype] static_assert works only if we have constexpr
>>>> via d0069aa http://cgit.dune-project.org/repositories/dune-istl/commit/?id=d0069aa66b802d1e81c274544a8d401875ca8868
>>>> [istl][multitype] constexpr only works if we can the method on the type and not on the
>>>> object
>>>> via c43f8c7 http://cgit.dune-project.org/repositories/dune-istl/commit/?id=c43f8c76f9cff56f8063267a7a9d1dd0e7bed9bd
>>>> [istl][multitype] fix solvers for MultiType*
>>>>
>>>> _______________________________________________
>>>> Dune-Commit mailing list
>>>> Dune-Commit at dune-project.org
>>>> http://lists.dune-project.org/mailman/listinfo/dune-commit
>>>>
>>>
>>> _______________________________________________
>>> Dune-devel mailing list
>>> Dune-devel at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune-devel
>>>
>>
>>
>
>
>
>> _______________________________________________
>> Dune-devel mailing list
>> Dune-devel at dune-project.org
>> http://lists.dune-project.org/mailman/listinfo/dune-devel
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20150817/90dd90e2/attachment.sig>
More information about the Dune-devel
mailing list