Regina Calculation Engine
Namespaces | Functions
packetregistry.h File Reference

Provides access to a registry of all packet types known to Regina. More...

#include "packet/packettype.h"
#include "utilities/registryutils.h"
#include "packet/packetregistry-impl.h"

Namespaces

 regina
 Contains the entire Regina calculation engine.
 

Functions

template<typename FunctionObject >
FunctionObject::ReturnType regina::forPacket (PacketType packetType, FunctionObject func, typename FunctionObject::ReturnType defaultReturn)
 Allows the user to call a template function whose template parameter matches a given value of PacketType, which is not known until runtime. More...
 
template<typename VoidFunctionObject >
void regina::forPacket (PacketType packetType, VoidFunctionObject func)
 Allows the user to call a template function whose template parameter matches a given value of PacketType, which is not known until runtime. More...
 

Detailed Description

Provides access to a registry of all packet types known to Regina.

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

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

Warning
You should not include this header unless it is necessary, since it will automatically import every header for every packet type 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).