regina::NContainer Class Reference
[Basic Packet Types]

A packet that simply contains other packets. More...

#include <ncontainer.h>

Inheritance diagram for regina::NContainer:
regina::NPacket regina::ShareableObject regina::boost::noncopyable

List of all members.

Public Member Functions

 NContainer ()
 Default constructor.
virtual int getPacketType () const
 Returns the integer ID representing this type of packet.
virtual std::string getPacketTypeName () const
 Returns an English name for this type of packet.
virtual void writeTextShort (std::ostream &out) const
 Writes this object in short text format to the given output stream.
virtual void writePacket (NFile &out) const
 Writes the packet details to the given old-style binary file.
virtual bool dependsOnParent () const
 Determines if this packet depends upon its parent.

Static Public Member Functions

static NXMLPacketReadergetXMLReader (NPacket *parent)
static NContainerreadPacket (NFile &in, NPacket *parent)

Static Public Attributes

static const int packetType
 Contains the integer ID for this packet.

Protected Member Functions

virtual NPacketinternalClonePacket (NPacket *parent) const
virtual void writeXMLPacketData (std::ostream &out) const
 Writes a chunk of XML containing the data for this packet only.

Detailed Description

A packet that simply contains other packets.

Such a packet contains no real data.


Constructor & Destructor Documentation

regina::NContainer::NContainer (  )  [inline]

Default constructor.


Member Function Documentation

bool regina::NContainer::dependsOnParent (  )  const [inline, virtual]

Determines if this packet depends upon its parent.

This is true if the parent cannot be altered without invalidating or otherwise upsetting this packet.

Returns:
true if and only if this packet depends on its parent.

Implements regina::NPacket.

virtual int regina::NContainer::getPacketType (  )  const [virtual]

Returns the integer ID representing this type of packet.

This is the same for all packets of this class.

Returns:
the packet type ID.

Implements regina::NPacket.

virtual std::string regina::NContainer::getPacketTypeName (  )  const [virtual]

Returns an English name for this type of packet.

An example is NTriangulation. This is the same for all packets of this class.

Returns:
the packet type name.

Implements regina::NPacket.

void regina::NContainer::writePacket ( NFile out  )  const [inline, virtual]

Writes the packet details to the given old-style binary file.

You may assume that the packet type and label have already been written. Only the actual data stored in the packet need be written.

The default implementation for this routine does nothing; new packet types should not implement this routine since this file format is now obsolete, and older calculation engines will simply skip unknown packet types when reading from binary files.

Deprecated:
For the preferred way to write packets to file, see writeXMLFile() and writeXMLPacketData() instead.
Precondition:
The given file is open for writing and satisfies the assumptions listed above.
Python:
Not present.
Parameters:
out the file to be written to.

Reimplemented from regina::NPacket.

void regina::NContainer::writeTextShort ( std::ostream &  out  )  const [inline, virtual]

Writes this object in short text format to the given output stream.

The output should fit on a single line and no newline should be written.

Python:
The parameter out does not exist; standard output will be used.
Parameters:
out the output stream to which to write.

Implements regina::ShareableObject.

void regina::NContainer::writeXMLPacketData ( std::ostream &  out  )  const [inline, protected, virtual]

Writes a chunk of XML containing the data for this packet only.

You may assume that the packet opening tag (including the packet type and label) has already been written, and that all child packets followed by the corresponding packet closing tag will be written immediately after this routine is called. This routine need only write the internal data stored in this specific packet.

Parameters:
out the output stream to which the XML should be written.

Implements regina::NPacket.


Member Data Documentation

const int regina::NContainer::packetType [static]

Contains the integer ID for this packet.

Each distinct packet type must have a unique ID, and this should be a positive integer. See packetregistry.h for further requirements regarding ID selection.

This member is not actually provided for NPacket itself, but must be declared for every packet subclass that will be instantiated. A value need not be assigned; packetregistry.h will take care of this task when you register the packet.

Reimplemented from regina::NPacket.


The documentation for this class was generated from the following file:

Copyright © 1999-2009, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).