Rosetta
Public Member Functions | List of all members
utility::VirtualBase Class Reference

Base class for Polymorphic classes All classes in Rosetta used polymorphically (that is, where a pointer/reference to a base type can point/reference a derived type) should inherit from this class. More...

#include <VirtualBase.hh>

Inherited by basic::datacache::DataCache< CacheableData >, numeric::geometry::hashing::xyzStripeHashWithMeta< float >, Arch, Base, DistanceMatrix, DistancePrediction, DisulfEpos, DisulfEposDatabase, Domain, DomainDescription, DomainFinder, FunGroupTK, Hit, Hit, Hit, Hit, Hit, Hit, Hit, Hit, MatchAligner, MatchAligner, MatchBase, MatchBase, MatchLig, MatchLig, PosePyObserver, RotSel, SequenceProfileDB, SlideTask, Tensor, TorsionList, XYZ, apps::pilot::KicSandbox, apps::pilot::frankdt::MakeSegmentFile, apps::pilot::frankdt::SmartSEWINGTester, apps::pilot::frankdt::concatenate_poses, apps::pilot::frankdt::segment_file_generator, apps::pilot::frankdt::steric_fusion_scan, basic::Emitter, basic::MetricValueBase, basic::citation_manager::AuthorNames, basic::citation_manager::Citation, basic::citation_manager::CitationCollectionBase, basic::citation_manager::CitationCollectionList, basic::citation_manager::UnpublishedModuleAuthor, basic::database::insert_statement_generator::RowDataBase, basic::database::schema_generator::Column, basic::database::schema_generator::Constraint, basic::database::schema_generator::DbDataType, basic::datacache::CacheableData, basic::datacache::ConstDataMap, basic::datacache::DataCache< Data >, basic::datacache::DataMap, basic::datacache::DataMapObj< Ty >, basic::datacache::HierarchicalDataMap, basic::datacache::WriteableCacheableDataCreator, basic::mpi::MessageListener, basic::random::RandomGeneratorSettings, basic::resource_manager::ResourceLoader, basic::resource_manager::ResourceLoaderCreator, basic::resource_manager::ResourceLocator, basic::resource_manager::ResourceLocatorCreator, basic::resource_manager::ResourceManager, basic::resource_manager::ResourceManagerCreator, basic::resource_manager::ResourceStream, basic::sampling::orientations::QuaternionGrid, basic::tensorflow_manager::RosettaTensorflowProtocolBase, basic::thread_manager::RosettaThreadAssignmentInfo, numeric::Calculator, numeric::ClusteringTreeNode, numeric::DietNode< T >, numeric::Polynomial_1d, numeric::RocCurve, numeric::RocPoint, numeric::expression_parser::ASTVisitor, numeric::expression_parser::ArithmeticASTNode, numeric::expression_parser::ArithmeticScanner, numeric::expression_parser::Expression, numeric::expression_parser::Token, numeric::expression_parser::TokenSet, numeric::geometry::hashing::MinimalClashHash, numeric::geometry::hashing::SixDCoordinateBinner, numeric::geometry::hashing::xyzStripeHash, numeric::geometry::hashing::xyzStripeHashWithMeta< T >, numeric::interpolation::Histogram< X, Y >, numeric::interpolation::spline::Interpolator, numeric::kdtree::HyperRectangle, numeric::kdtree::KDNode, numeric::kdtree::KDPoint, numeric::kdtree::KDPointList, numeric::kdtree::KDTree, numeric::kdtree::WrappedPrimitive< T >, numeric::linear_algebra::EllipseParameters, numeric::random::RandomGenerator, numeric::random::uniform_RG, utility::Inline_File_Provider_Hook, utility::SimulateMPIMessage, utility::VBWrapper< T >, utility::graph::ArrayPool< T >, utility::graph::Digraph, utility::graph::Graph, utility::graph::LowMemGraphBase, utility::graph::UEVertex< V, E >, utility::graph::UpperEdgeGraph< V, E >, utility::heap, utility::in_place_list< T >, utility::io::FileContentsMap, utility::io::GeneralFileContents, utility::io::GeneralFileContentsVector, utility::libsvm::Svm_node_rosetta, utility::libsvm::Svm_rosetta, utility::options::OptionCollection, utility::py::PyExitCallback, utility::recent_history_queue, utility::signals::LinkUnit, utility::sql_database::session, utility::sql_database::transaction, utility::subset_mapping, utility::tag::Tag, utility::tag::XMLSchemaComplexTypeGenerator, utility::tag::XMLSchemaComplexTypeGeneratorImpl, utility::tag::XMLSchemaDefinition, utility::tag::XMLSchemaRepeatableCTNode, utility::tag::XMLSchemaSimpleSubelementList, utility::tag::XMLSchemaTopLevelElement, utility::tag::XMLSchemaType, and zinc_stats::ZincStatisticGenerator.

Public Member Functions

 VirtualBase ()=default
 Default constructor. More...
 
virtual ~VirtualBase ()=default
 The virtual destructor is one of the main reasons for the VirtualBase class. More...
 
 VirtualBase (VirtualBase const &)=default
 
 VirtualBase (VirtualBase &&)=default
 
VirtualBaseoperator= (VirtualBase const &)=default
 
VirtualBaseoperator= (VirtualBase &&)=default
 

Detailed Description

Base class for Polymorphic classes All classes in Rosetta used polymorphically (that is, where a pointer/reference to a base type can point/reference a derived type) should inherit from this class.

This class serves two purposes: 1) It serves as a common base class for Rosetta object, such that a range of types can be stored as VirtualBaseOPs (and then dynamically cast to the proper type) 2) It ensures that a class hierarchy used polymorphically has a virtual destructor (which is necessary if a derived class can be stored/referenced by a base class pointer/reference).

This class used to be at utility::pointer::ReferenceCount (utility/pointer/ReferenceCount.hh) but was renamed, as it's no longer directly related to pointers/reference counting.

Constructor & Destructor Documentation

◆ VirtualBase() [1/3]

utility::VirtualBase::VirtualBase ( )
default

Default constructor.

◆ ~VirtualBase()

virtual utility::VirtualBase::~VirtualBase ( )
virtualdefault

The virtual destructor is one of the main reasons for the VirtualBase class.

◆ VirtualBase() [2/3]

utility::VirtualBase::VirtualBase ( VirtualBase const &  )
default

◆ VirtualBase() [3/3]

utility::VirtualBase::VirtualBase ( VirtualBase &&  )
default

Member Function Documentation

◆ operator=() [1/2]

VirtualBase& utility::VirtualBase::operator= ( VirtualBase &&  )
default

◆ operator=() [2/2]

VirtualBase& utility::VirtualBase::operator= ( VirtualBase const &  )
default

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