---
name: "sc_DescribedClass"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_DescribedClass"
---

# sc\_DescribedClass(3)

Classes which need runtime information about themselves and their relationship to other classes can virtually inherit from DescribedClass.

## NAME

sc::DescribedClass - Classes which need runtime information about themselves and their relationship to other classes can virtually inherit from **DescribedClass**.

## SYNOPSIS

`#include <class.h>`

Inherits **sc::RefCount**.

Inherited by **sc::AnimatedObject**, **sc::Appearance**, **sc::BEMSolvent**, **sc::DescribedClassProxy**, **sc::DiagSCMatrix**, **sc::FileGrp**, **sc::GlobalMsgIter**, **sc::IntegralStorer**, **sc::MachineTopology**, **sc::Material**, **sc::MemoryGrp**, **sc::MessageGrp**, **sc::MoleculeColorizer**, **sc::PsiExEnv**, **sc::RegionTimer**, **sc::Render**, **sc::RenderedObject**, **sc::SCMatrix**, **sc::SCMatrixKit**, **sc::SCVector**, **sc::SavableState**, **sc::StateIn**, **sc::StateOut**, **sc::SymmSCMatrix**, **sc::ThreadGrp**, **sc::Transform**, **sc::TriangleIntegrator**, and **sc::TriangulatedSurface**.

### Public Member Functions

**DescribedClass** (const **DescribedClass** &)\
 **DescribedClass** & **operator=** (const **DescribedClass** &)\
 **ClassDesc** \* **class\_desc** () const  throw ()\
 This returns the unique pointer to the **ClassDesc** corresponding to the given type\_info object.  const char \* **class\_name** () const\
 Return the name of the object's exact type.  int **class\_version** () const\
 Return the version of the class.  virtual void **print** (std::ostream &=**ExEnv::out0**()) const\
 Print the object.

### Additional Inherited Members

## Detailed Description

Classes which need runtime information about themselves and their relationship to other classes can virtually inherit from **DescribedClass**.

This will provide the class with the ability to query its name and its version. Furthermore, the class's static **ClassDesc** can be obtained which permits several other operations. See **class** for more information.

## Member Function Documentation

### ClassDesc \* sc::DescribedClass::class\_desc () const

This returns the unique pointer to the **ClassDesc** corresponding to the given type\_info object. Null is returned if it fails.

### virtual void sc::DescribedClass::print (std::ostream & = ExEnv::out0`()`) const` [virtual]`

Print the object.

Reimplemented in **sc::IntMolecularCoor**, **sc::SymmMolecularCoor**, **sc::CartMolecularCoor**, **sc::MolecularEnergy**, **sc::Molecule**, **sc::TaylorMolecularEnergy**, **sc::GaussianBasisSet**, **sc::GaussianShell**, **sc::SumDenFunctional**, **sc::StdDenFunctional**, **sc::XalphaFunctional**, **sc::EulerMaclaurinRadialIntegrator**, **sc::LebedevLaikovIntegrator**, **sc::GaussLegendreAngularIntegrator**, **sc::RadialAngularIntegrator**, **sc::Wavefunction**, **sc::DIIS**, **sc::Function**, **sc::ParallelRegionTimer**, **sc::RegionTimer**, **sc::Appearance**, **sc::Material**, **sc::RenderedObject**, **sc::Transform**, **sc::MolecularCoor**, **sc::IntCoor**, **sc::CLKS**, **sc::HSOSKS**, **sc::UKS**, **sc::MBPT2**, **sc::MBPT2\_R12**, **sc::MOIndexSpace**, **sc::MP2R12Energy**, **sc::TwoBodyGrid**, **sc::PsiExEnv**, **sc::PsiWavefunction**, **sc::CLHF**, **sc::CLSCF**, **sc::HSOSHF**, **sc::HSOSSCF**, **sc::OSSHF**, **sc::OSSSCF**, **sc::SCF**, **sc::TCHF**, **sc::TCSCF**, **sc::UHF**, **sc::UnrestrictedSCF**, **sc::OneBodyWavefunction**, **sc::SphereShape**, **sc::UncappedTorusHoleShape**, **sc::TriangulatedSurface**, **sc::SCVector**, **sc::SCMatrix**, **sc::SymmSCMatrix**, **sc::DiagSCMatrix**, **sc::SCBlockInfo**, **sc::SCDimension**, **sc::PointGroup**, **sc::FileGrp**, **sc::ActiveMsgMemoryGrp**, **sc::ARMCIMemoryGrp**, **sc::MemoryGrp**, **sc::RDMAMemoryGrp**, **sc::ShmMemoryGrp**, and **sc::IntCoorGen**.

References **sc::ClassDesc::class\_desc()**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
