RVL::PackageContainerFactory< DataType, MetaType > Class Template Reference

An almost-concrete factory class for PackageContainers, lacking only one protected and one public method to be complete. More...

#include <contentpackage.hh>

Inheritance diagram for RVL::PackageContainerFactory< DataType, MetaType >:

RVL::DataContainerFactory RVL::Factory< T > RVL::Writeable List of all members.

Public Member Functions

virtual PackageContainerFactory<
DataType, MetaType > * 
clone () const =0
 Typically implemnented by op new.
DataContainerbuild () const
virtual bool compare (DataContainerFactory const &dcf) const
virtual bool isCompatible (DataContainer const &dc) const
virtual ostream & write (ostream &str) const

Protected Member Functions

virtual PackageContainer<
DataType, MetaType > * 
buildPC () const =0

Detailed Description

template<typename DataType, typename MetaType>
class RVL::PackageContainerFactory< DataType, MetaType >

An almost-concrete factory class for PackageContainers, lacking only one protected and one public method to be complete.

Added clone method because copying of children in classes owning one of these will require virtual construction.

The comparison methods may not be sufficiently discriminatory for various applications, as they merely typecheck, So they are made virtual and can be overridden in child classes.

Definition at line 627 of file contentpackage.hh.


Member Function Documentation

template<typename DataType, typename MetaType>
virtual PackageContainer<DataType,MetaType>* RVL::PackageContainerFactory< DataType, MetaType >::buildPC (  )  const [protected, pure virtual]

Implemented in RVL::SingleDataContainerFactory< Datatype, Metatype >.

Referenced by RVL::PackageContainerFactory< Datatype, Metatype >::build().

template<typename DataType, typename MetaType>
virtual PackageContainerFactory<DataType,MetaType>* RVL::PackageContainerFactory< DataType, MetaType >::clone (  )  const [pure virtual]

Typically implemnented by op new.

Implemented in RVL::SingleDataContainerFactory< Datatype, Metatype >.

template<typename DataType, typename MetaType>
DataContainer* RVL::PackageContainerFactory< DataType, MetaType >::build (  )  const [virtual]

Implements RVL::Factory< T >.

Definition at line 637 of file contentpackage.hh.

template<typename DataType, typename MetaType>
virtual bool RVL::PackageContainerFactory< DataType, MetaType >::compare ( DataContainerFactory const &  dcf  )  const [virtual]

Implements RVL::DataContainerFactory.

Reimplemented in RVL::SingleDataContainerFactory< Datatype, Metatype >.

Definition at line 639 of file contentpackage.hh.

template<typename DataType, typename MetaType>
virtual bool RVL::PackageContainerFactory< DataType, MetaType >::isCompatible ( DataContainer const &  dc  )  const [virtual]

Implements RVL::DataContainerFactory.

Reimplemented in RVL::SingleDataContainerFactory< Datatype, Metatype >.

Definition at line 647 of file contentpackage.hh.

template<typename DataType, typename MetaType>
virtual ostream& RVL::PackageContainerFactory< DataType, MetaType >::write ( ostream &  str  )  const [virtual]

Implements RVL::Writeable.

Reimplemented in RVL::SingleDataContainerFactory< Datatype, Metatype >.

Definition at line 655 of file contentpackage.hh.


The documentation for this class was generated from the following file:
Generated on 5 Jan 2017 for LocalRVL by  doxygen 1.4.7