Regina Calculation Engine
Public Member Functions | List of all members
regina::CensusDB Class Reference

Stores the location and description of one of Regina's in-built census databases. More...

#include <census/census.h>

Public Member Functions

 CensusDB (const std::string &filename, const std::string &desc)
 Creates a new reference to one of Regina's census databases. More...
 
 CensusDB (const CensusDB &)=default
 Creates a new clone of the given database reference. More...
 
 CensusDB (CensusDB &&) noexcept=default
 Moves the given database reference into this new object. More...
 
const std::string & filename () const
 Returns the filename where this database is stored. More...
 
const std::string & desc () const
 Returns a human-readable description of this database. More...
 
bool lookup (const std::string &isoSig, CensusHits *hits) const
 Searches for the given isomorphism signature in this database. More...
 
CensusDBoperator= (const CensusDB &)=default
 Sets this to be a clone of the given database reference. More...
 
CensusDBoperator= (CensusDB &&) noexcept=default
 Moves the given database reference into this object. More...
 

Detailed Description

Stores the location and description of one of Regina's in-built census databases.

A census database stores a list of key-value pairs. The keys are isomorphism signatures of triangulations (as returned by Triangulation<3>::isoSig(), for instance), and the values are human-readable names (typically the names of the triangulations and/or the names of the underlying manifolds). An isomorphism signature may appear multiple times (with different names) within the same database.

The format used to store census databases is an internal implementation detail that may change in future releases of Regina. End users should only search census databases using high-level routines such as Census::lookup() and CensusDB::lookup().


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

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