filterregistry.h File Reference

Provides access to a registry of all normal surface filter classes that can be used to filter lists of normal surfaces in 3-manifold triangulations. More...

`#include "surfaces/surfacefiltertype.h"`
`#include "utilities/registryutils.h"`
`#include "surfaces/filterregistry-impl.h"`

## Namespaces

| regina
| Contains the entire Regina calculation engine.

## Functions

template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::ReturnType | regina::forFilter (SurfaceFilterType filter, FunctionObject &&func, typename ReturnsTraits< FunctionObject >::ReturnType defaultReturn, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of SurfaceFilterType, which is not known until runtime. More...
template<typename FunctionObject , typename... Args>
ReturnsTraits< FunctionObject >::Void | regina::forFilter (SurfaceFilterType filter, FunctionObject &&func, Args &&... args)
| Allows the user to call a template function whose template parameter matches a given value of SurfaceFilterType, which is not known until runtime. More...

## Detailed Description

Provides access to a registry of all normal surface filter classes that can be used to filter lists of normal surfaces in 3-manifold triangulations.

Each time a new filter is created, the file filterregistry-impl.h must be updated to include it. Instructions on how to do this are included in filterregistry-impl.h.

External routines can access the registry by calling one of the forFilter() template functions defined in filterregistry.h.

Warning
  You should not include this header unless it is necessary, since it will automatically import every header for every filter class in the registry.

Copyright © 1999-2016, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).