From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,f30ef262af690ce0 X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Path: g2news1.google.com!news3.google.com!feeder.news-service.com!feeder.news-service.com!news.motzarella.org!motzarella.org!not-for-mail From: Ivan Levashew Newsgroups: comp.lang.ada Subject: Re: numbers as 'generics' parameters Date: Mon, 19 May 2008 12:16:49 +0700 Organization: A noiseless patient Spider Message-ID: References: <482dd91a$1_3@news.bluewin.ch> <1g4p2jgvi3k8j.1j2xk6p9ws3a2.dlg@40tude.net> <9e99c5cd-fd94-4a38-89fd-681c0372b7ad@y38g2000hsy.googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: feeder.motzarella.org U2FsdGVkX19nPYFh0490NpwhJM9HnGkBFh5KE2vEXQgmhEMtT2mzsjlzTMwZZHtaMMR6dkbcosjDnzru/mbWvztl/7i0Sb0rni9eefmDk647o8HiMnvuNjn4MT7+4u5tgNYqkvwZHsReB5ke+IJakg== X-Complaints-To: Please send complaints to abuse@motzarella.org with full headers NNTP-Posting-Date: Mon, 19 May 2008 04:59:45 +0000 (UTC) In-Reply-To: X-Auth-Sender: U2FsdGVkX1+lDRXF5MVJAp9WTfEOEk7Jc6vDE7Dsu5XsaGVd2VtZ6Q== X-Image-URL: http://img220.echo.cx/img220/9664/111408397042725603791c71pb.gif Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEUAAAOZlpMaJz3/9fYs //8FP1E2M3Qbef+MAAACEklEQVQ4jZ2TTW7bMBCFJwO465B2uqZfS+4NnyBA7LXMerSPEPL+R+gb KqmTIAWKDiCCmo9v/kSJqGaVJCp/TLk3kbypSPmdX2QD2YikTUrAe6CqiWuCL/LR3Cfu/AJgbP4K Phtjfz77vwAfOv4XkNPXVSkqwZvmfTZMAriHMOGG1EOt7xw1Rli8hTIkV4DDTIFn6qqYZJ5JFLhT yIVnHAoIrlYTNGKf7yVMUS4yvYITdC8EMaZwHyX4t4ERnCv2uN+HGMFH4x2bHuDEahD1IUR18LAn mC3Jjork3Wny28Gp+h1pMhR08VV9s55hc/J08qrg90RHP15uXag4c1pYMFvVbHmBB3bFtVGBpVwe z+Hno7UyABU8yYEt1l5q+P54Mj8sM5dsVdRqu4RDCLvWGn2lj8pMJdC2BMdtCFG0L8rptiz6Y3s8 Hh1wjehXby133vRneo5hBSgvu+rfozdodnDYui6g7645m1jpVXELFUtnz6yo9MUKfo1YhzXF6WSc bu09Ax7rcGSsgNKezKggaDNGLH8icz80EsmlcwxOPMcBBJZd0VnWzOnSGbYUMEXNnqO00gvB4p1T gG7TUMydxjljz9xxAAyFzUvpfiEZLHD91iwNhVmvfXybYaksDioVlDh4JdqbwVYFyQ2Unq8EeQDr GDfcrS/ZUF8VJAtWUW8pPyFXr8oDMun4r0pHgiVMafoNgUqRDtakwdAAAAAASUVORK5CYII= X-Face: *tpB#/X3&Zh\?<4l;hAgY:m6lt6L]v#Udy\Xwy{@<'qP=9clA}kEbbSV1]B0a^O{|ibsNV~|zu.Da}V4*se@ns!8*Bt$9l-]nbD}o*7ml9J2)u:"!6P%_-`y9,'.L.Psp),njUf!=F5;kx%~\,'D$%{" Cancel-Lock: sha1:YiOB9lX4HZr3RTB7DZmU9GrDzHw= User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; ru; rv:1.8.1.14) Gecko/20080421 Thunderbird/2.0.0.14 ThunderBrowse/3.2.1.3.1 Mnenhy/0.7.5.666 Xref: g2news1.google.com comp.lang.ada:221 Date: 2008-05-19T12:16:49+07:00 List-Id: Maciej Sobczak пишет: > template > void foo(const fixed_size_string & s1, > const fixed_size_string & s2) AFAIK this will prevent N from being unknown at compile-time. Or anyway I don't know how will C++ handle undefined N. AFAIK C++, there could be "foo <3> (const fixed_size_string<3> &, const fixed_size_string<3> &)", "foo <4> (const fixed_size_string<4> &, const fixed_size_string<4> &)" mangled names. I'm not sure if C++ is able to convert dynamic template parameters to subroutine parameters. This could be probably solved by replacing "size_t N" with "const size_t& N", but AFAIK it'll render the automatic being demonstrated here invalid since fixed_size_string<3> s = "Ada"; fixed_size_string<3> t = "C++"; are likely to use different "size_t&" references, aren't they? I think this particular case is a dead-end way of promoting either Ada over C++ or C++ over Ada. -- If you want to get to the top, you have to start at the bottom