Regina Calculation Engine
Namespaces | Functions
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 >
FunctionObject::ReturnType regina::forFilter (SurfaceFilterType filter, FunctionObject func, typename FunctionObject::ReturnType defaultReturn)
 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 VoidFunctionObject >
void regina::forFilter (SurfaceFilterType filter, VoidFunctionObject func)
 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-2014, 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@debian.org).