#include <Object.h>
Inheritance diagram for FD::Object:
Public Member Functions | |
Object () | |
virtual | ~Object () |
void | ref () |
void | unref () |
int | unique () |
virtual void | destroy () |
virtual void | serialize (std::ostream &out) const |
virtual void | unserialize (std::istream &in) |
virtual void | doesNotUnderstand (std::string method) |
virtual void | printOn (std::ostream &out=std::cout) const =0 |
virtual bool | isNil () const |
virtual void | prettyPrint (std::ostream &out=std::cout) const |
virtual void | readFrom (std::istream &in=std::cin) |
virtual ObjectRef | clone () |
virtual std::string | className () const |
Static Public Member Functions | |
static ObjectRef | newObject (const std::string &objType) |
template<class T> | |
static int | addObjectType (const std::string &objType, _ObjectFactory *factory) |
static std::map< std::string, _ObjectFactory * > & | ObjectFactoryDictionary () |
static TypeMap< _ObjectFactory * > & | TypeidDictionary () |
Protected Attributes | |
AtomicCounter | ref_count |
Friends | |
std::ostream & | operator<< (std::ostream &out, const Object &obj) |
|
default constructor |
|
destructor |
|
Registers the object name |
|
Returns the name of the class of the Object |
|
Makes a (deep) copy of the object Reimplemented in FD::Complex< T >, FD::BaseVector, FD::Vector< T >, FD::Vector< RCPtr< Covariance > >, FD::Vector< double >, FD::Vector< RCPtr< GMM > >, FD::Vector< float >, FD::Vector< int >, FD::Vector< Vector< float > >, FD::Vector< RCPtr< FFLayer > >, FD::Vector< RCPtr< Mean > >, FD::Vector< RCPtr< Gaussian > >, and FD::Vector< ObjectRef >. |
|
Causes the object to be destroyed, it might be redefined for an object pool Reimplemented in FD::Complex< T >, FD::NetCType< T >, FD::Vector< T >, FD::Vector< RCPtr< Covariance > >, FD::Vector< double >, FD::Vector< RCPtr< GMM > >, FD::Vector< float >, FD::Vector< int >, FD::Vector< Vector< float > >, FD::Vector< RCPtr< FFLayer > >, FD::Vector< RCPtr< Mean > >, FD::Vector< RCPtr< Gaussian > >, FD::Vector< ObjectRef >, and FD::Vector< T >. |
|
How to handle an ununderstood method (VMethod) |
|
Is it a nil Object |
|
Creates an instance of an object by class name |
|
Prints an object in a more "user-friendly" format Reimplemented in FD::Complex< T >, FD::PrintableGenericType< T >, FD::String, FD::Vector< T >, FD::Vector< RCPtr< Covariance > >, FD::Vector< double >, FD::Vector< RCPtr< GMM > >, FD::Vector< float >, FD::Vector< int >, FD::Vector< Vector< float > >, FD::Vector< RCPtr< FFLayer > >, FD::Vector< RCPtr< Mean > >, FD::Vector< RCPtr< Gaussian > >, and FD::Vector< ObjectRef >. |
|
|
|
Notify the object we're adding a reference |
|
Serialize (binary) the object to a stream Reimplemented in FD::Complex< T >, FD::PrintableGenericType< T >, FD::String, FD::Vector< T >, FD::DiagGMM, FD::Vector< RCPtr< Covariance > >, FD::Vector< double >, FD::Vector< RCPtr< GMM > >, FD::Vector< float >, FD::Vector< int >, FD::Vector< Vector< float > >, FD::Vector< RCPtr< FFLayer > >, FD::Vector< RCPtr< Mean > >, FD::Vector< RCPtr< Gaussian > >, and FD::Vector< ObjectRef >. |
|
Returns the number of references |
|
Notify the object we're removing a reference (might destroy the object) |
|
Unserialize (binary) the object from a stream Reimplemented in FD::Complex< T >, FD::PrintableGenericType< T >, FD::String, FD::Vector< T >, FD::DiagGMM, FD::Vector< RCPtr< Covariance > >, FD::Vector< double >, FD::Vector< RCPtr< GMM > >, FD::Vector< float >, FD::Vector< int >, FD::Vector< Vector< float > >, FD::Vector< RCPtr< FFLayer > >, FD::Vector< RCPtr< Mean > >, FD::Vector< RCPtr< Gaussian > >, and FD::Vector< ObjectRef >. |
|
Prints the object to a stream |