[vtk-developers] STL in VTK Header Files

Dave Partyka dave.partyka at kitware.com
Mon Jun 8 09:23:31 EDT 2009


(Sorry if this is a duplicate, apparently I was not a member of
vtk-developers)
Well one thing we can do is come up with a file naming convention or some
string in the header file to parse that would cause the commit check to
permit the commit even if there are STL headers. But that is rather dubious
as then anyone can just use whatever we come up with rather than just
following the convention in the first place. Dave Thompson example (files
named vtk*Private.h") can be easily implemented, but that won't help all
cases.
Or maybe it is time to revise the coding standards? I don't know what the
correct process is for doing this though.

On Fri, Jun 5, 2009 at 9:47 PM, Berk Geveci <berk.geveci at kitware.com> wrote:

> Is there a way of by-passing this commit check? There are a rare
> occasions where it may be necessary to commit code which include STL
> headers in .h files.
>
> To remind everyone why the decision to keep STL headers from include
> files was made: performance. STL headers are bulky and may slow down
> compilation significantly if they are included in header files that
> are included by a lot of other files. Including STL headers in the
> include files of leaf classes (such as concrete algorithm classes)
> does not have any effect on compilation time. There are no other good
> reasons why STL headers cannot be included in header files.
>
> Here is the catch: we occasionally receive contributions that include
> STL header in .h. These tend to be super big reader classes. Fixing
> the whole darn thing to use PIMPL is a waste of time which we don't
> have. So, if we do not provide a way of having exception to this rule,
> those contributions would never make it into VTK.
>
> So we should either provide a way of by-passing this commit check in
> these rare occasions or we should enforce this through a header test
> which can support such exceptions.
>
> -berk
>
> On Fri, Jun 5, 2009 at 5:13 PM, Francois
> Bertel<francois.bertel at kitware.com> wrote:
> > Isn't already enforced by HeaderTesting-* tests ?
> >
> > PS: I continue the discussion on vtk-developers only as this is the
> > canonic place to discuss about this topic.
> >
> > On Fri, Jun 5, 2009 at 4:42 PM, Dave Partyka<dave.partyka at kitware.com>
> wrote:
> >> Hi everyone,
> >> A new CVS commit check has been added to prevent commits of VTK header
> files
> >> that contain STL includes. Exceptions can be added by contacting myself
> or
> >> Brad King.
> >> I also want to give a friendly reminder that the VTK coding standards
> (VTK
> >> has coding standards???) provide guidelines for using STL in VTK and
> require
> >> that STL not be used in header files. See the following for more
> information
> >> or feel free to ask me if you have any questions.
> >> VTK Coding Standards:
> >> http://www.vtk.org/Wiki/VTK_Coding_Standards
> >> VTK FAQ regarding STL
> >> http://www.vtk.org/Wiki/VTK_FAQ#Can_I_use_STL_with_VTK.3F
> >> Also please report any problems/bugs with the new commit check to myself
> or
> >> Brad King.
> >> Thanks very much!
> >
> >
> >
> > --
> > François Bertel, PhD  | Kitware Inc. Suite 204
> > 1 (518) 371 3971 x113 | 28 Corporate Drive
> >                      | Clifton Park NY 12065, USA
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.vtk.org/mailman/listinfo/vtk-developers
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20090608/b46ddeff/attachment.html>


More information about the vtk-developers mailing list