From dev-return-7708-apmail-stdcxx-dev-archive=stdcxx.apache.org@stdcxx.apache.org Fri May 30 21:05:04 2008 Return-Path: Delivered-To: apmail-stdcxx-dev-archive@www.apache.org Received: (qmail 37934 invoked from network); 30 May 2008 21:05:04 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 30 May 2008 21:05:04 -0000 Received: (qmail 94781 invoked by uid 500); 30 May 2008 21:05:06 -0000 Delivered-To: apmail-stdcxx-dev-archive@stdcxx.apache.org Received: (qmail 94763 invoked by uid 500); 30 May 2008 21:05:06 -0000 Mailing-List: contact dev-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list dev@stdcxx.apache.org Received: (qmail 94752 invoked by uid 99); 30 May 2008 21:05:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 May 2008 14:05:06 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [208.30.140.160] (HELO moroha.roguewave.com) (208.30.140.160) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 May 2008 21:04:12 +0000 Received: from nebula.bco.roguewave.com ([10.70.3.27]) by moroha.roguewave.com (8.13.6/8.13.6) with ESMTP id m4UL4WK3032509 for ; Fri, 30 May 2008 21:04:32 GMT Message-ID: <48406BE1.4070902@roguewave.com> Date: Fri, 30 May 2008 15:04:33 -0600 From: Martin Sebor Organization: Rogue Wave Software, Inc. User-Agent: Thunderbird 2.0.0.12 (X11/20080226) MIME-Version: 1.0 To: dev@stdcxx.apache.org Subject: Re: type_traits progress References: <483B79A1.4070808@roguewave.com> <483C67BA.6070209@roguewave.com> <48401E00.2090709@roguewave.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Travis Vitek wrote: > > > Eric Lemings wrote: >>> Travis Vitek wrote: >>> >> ... >>> As an example, the array traits above are all closely related >>> and their >>> implementations are similar. There are five traits, and those traits >>> span three sections of the standard. >>> >>> I'm open to doing some type of grouping, we just need to >>> understand how >>> we want to group them and then how we want to name the files. >> The term you're looking for is cohesion. :) I kinda like this >> organization. Couple things though. >> >> Why put __rw_decay, a single helper trait in its own header? > > Well decay deals with conversion from array to pointer and function to > function pointer conversions. I can't necessarily put it into both > _meta_array.h and _meta_func.h, so I figured it would be best to put it > into a file by itself. FWIW, I see no problem with bundling groups of traits together even if some of them are unlikely to be used in the rest of the lib, just as long as their implementation isn't too big (i.e., doesn't bloat translation units and unnecessarily increase compilation time). Martin > >> Also I would use the filename rw/_meta_util.h rather than >> rw/_meta_other.h but that's just me. :) > > Yeah, I could do that. > >> Brad. >>