Commit Graph

10568 Commits

Author SHA1 Message Date
Kenneth Moreland
c2d926fa49 Add tag-based type list templates
Provies a list of types in a template like boost::mpl::vector and a
method to call a functor on each type. However, rather than explicitly
list each type, uses tags to identify the list. This provides the
following main advantages:

1. Can use these type lists without creating horrendously long class
names based on them, making compiler errors easier to read. For example,
you would have a typename like MyClass<TypeListTagVectors> instead of
MyClass<TypeList<Id3,Vector2,Vector3,Vector4> > (or worse if variadic
templates are not supported). This is the main motivation for this
implementation.

2. Do not require variadic templates and usually few constructions. That
should speed compile times.

There is one main disadvantage to this approach: It is difficult to get
a printed list of items in a list during an error. If necessary, it
probably would not be too hard to make a template to convert a tag to a
boost mpl vector.
2014-03-31 17:45:52 -06:00
Robert Maynard
c008213561 Merge branch 'astyle_applied' 2014-03-07 10:22:51 -05:00
Robert Maynard
2b7a0e0490 revise the header guard naming convention to not conflict with macro names. 2014-03-07 10:22:36 -05:00
Robert Maynard
f2552645e0 Merge branch 'astyle_applied' 2014-02-11 16:21:08 -05:00
Robert Maynard
5b8bec5ecd Merge branch 'add_serial_deviceAdapter' 2014-02-11 16:21:02 -05:00
Robert Maynard
c80fb9259f Update the initial repository to use the correct indentation style. 2014-02-11 16:20:30 -05:00
Robert Maynard
262f07c9b0 Properly name the VTKm CMakeFiles. 2014-02-11 14:56:03 -05:00
Robert Maynard
c2101b8ffc Add in a serial device adapter and required supporting classes.
We now can verify that the array handle is usable by a device adapter.
2014-02-11 12:34:56 -05:00
Robert Maynard
6466da1a11 Merge branch 'add_arrayHandle' 2014-02-10 15:02:08 -05:00
Robert Maynard
a94abd7a71 Add in the minimum part of the control env to have a testable array handle. 2014-02-10 15:00:17 -05:00
Robert Maynard
24f561f0fe Add testing support to vtkm, and add tests for primitive types. 2014-02-10 15:00:17 -05:00
Robert Maynard
c07301a993 Add in primitive types to vtkm (Id, Scalar, Tuple).
This includes the configure scripts to setup if you want a 32bit or
64bit build.
2014-02-10 15:00:17 -05:00
Robert Maynard
ad0bc83320 Add in the basic CMake Infrastructure required for vtkm. 2014-02-10 15:00:17 -05:00
Robert Maynard
f1de2ebae2 Add a license to vtkm. 2014-02-10 15:00:17 -05:00
Robert Maynard
c00d01be6f Move documents into a directory, instead being in the repos root. 2014-02-10 14:01:22 -05:00
Robert Maynard
3ddb07318b Add in the coding conventions that we will use. 2014-02-07 11:02:55 -05:00
Robert Maynard
078323cf69 some rough notes on design choices we are making. 2014-02-07 11:02:50 -05:00
Robert Maynard
c138d6cd82 Initial commit. 2014-02-04 15:08:03 -05:00