Regina Calculation Engine
Classes | Namespaces | Macros | Functions
packet.h File Reference

Deals with packets of information that form the working data objects. More...

#include <iostream>
#include <iterator>
#include <memory>
#include <set>
#include "regina-core.h"
#include "core/output.h"
#include "packet/packettype.h"
#include "utilities/safepointeebase.h"

Classes

struct  regina::PacketInfo< packetType >
 A template that stores information about a particular type of packet. More...
 
class  regina::Packet
 Represents a packet of information that may be individually edited or operated upon. More...
 
class  regina::Packet::ChangeEventSpan
 An object that facilitates firing packetToBeChanged() and packetWasChanged() events. More...
 
class  regina::ChildIterator
 A forward iterator for iterating through all immediate children of a given packet. More...
 
class  regina::SubtreeIterator
 A forward iterator for iterating through the entire packet subtree rooted at a given packet. More...
 
class  regina::PacketChildren
 A lightweight object that gives access to all immediate children of a given packet. More...
 
class  regina::PacketDescendants
 A lightweight object that gives access to all strict descendants of a given packet. More...
 
class  regina::PacketShell
 Gives access to the final remains of a packet that is in the process of being destroyed. More...
 
class  regina::PacketListener
 An object that can be registered to listen for packet events. More...
 
struct  std::iterator_traits< regina::ChildIterator >
 
struct  std::iterator_traits< regina::SubtreeIterator >
 

Namespaces

 regina
 Contains the entire Regina calculation engine.
 

Macros

#define REGINA_PACKET(class_, id)
 Defines various constants, types and virtual functions for a subclass of Packet. More...
 
#define REGINA_PACKET_FROM(class_, helper)
 An alternative to REGINA_PACKET, for scenarios where the relevant PacketInfo specialisation is not visible. More...
 

Functions

Packet * regina::open (const char *filename)
 Reads a Regina data file, and returns the corresponding packet tree. More...
 
Packet * regina::open (std::istream &in)
 Reads a Regina data file from the given input stream, and returns the corresponding packet tree. More...
 
bool regina::operator== (const Packet *packet, PacketShell shell)
 Identifies if the given shell refers to the given packet. More...
 
bool regina::operator!= (const Packet *packet, PacketShell shell)
 Identifies if the given shell does not refer to the given packet. More...
 

Detailed Description

Deals with packets of information that form the working data objects.


Copyright © 1999-2018, 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).