Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
class_loader::impl::AbstractMetaObjectBase Class Reference

A base class for MetaObjects that excludes a polymorphic type parameter. Subclasses are class templates though. More...

#include <meta_object.hpp>

Inheritance diagram for class_loader::impl::AbstractMetaObjectBase:
Inheritance graph
[legend]

Public Member Functions

 AbstractMetaObjectBase (const std::string &class_name, const std::string &base_class_name)
 Constructor for the class. More...
 
void addOwningClassLoader (ClassLoader *loader)
 Associates a ClassLoader owner with this factory,. More...
 
std::string baseClassName () const
 gets the base class for the class this factory represents More...
 
std::string className () const
 Gets the literal name of the class. More...
 
ClassLoaderVector getAssociatedClassLoaders ()
 
std::string getAssociatedLibraryPath ()
 Gets the path to the library associated with this factory. More...
 
bool isOwnedBy (const ClassLoader *loader)
 Indicates if the factory is within the usable scope of a ClassLoader. More...
 
bool isOwnedByAnybody ()
 Indicates if the factory is within the usable scope of any ClassLoader. More...
 
void removeOwningClassLoader (const ClassLoader *loader)
 Removes a ClassLoader that is an owner of this factory. More...
 
void setAssociatedLibraryPath (std::string library_path)
 Sets the path to the library associated with this factory. More...
 
std::string typeidBaseClassName () const
 Gets the name of the class as typeid(BASE_CLASS).name() would return it. More...
 
 ~AbstractMetaObjectBase ()
 Destructor for the class. THIS MUST NOT BE VIRTUAL AND OVERRIDDEN BY TEMPLATE SUBCLASSES, OTHERWISE THEY WILL PULL IN A REDUNDANT METAOBJECT DESTRUCTOR OUTSIDE OF libclass_loader WITHIN THE PLUGIN LIBRARY! T. More...
 

Protected Member Functions

virtual void dummyMethod ()
 

Protected Attributes

ClassLoaderVector associated_class_loaders_
 
std::string associated_library_path_
 
std::string base_class_name_
 
std::string class_name_
 
std::string typeid_base_class_name_
 

Detailed Description

A base class for MetaObjects that excludes a polymorphic type parameter. Subclasses are class templates though.

Definition at line 59 of file meta_object.hpp.

Constructor & Destructor Documentation

◆ AbstractMetaObjectBase()

class_loader::impl::AbstractMetaObjectBase::AbstractMetaObjectBase ( const std::string &  class_name,
const std::string &  base_class_name 
)

Constructor for the class.

Definition at line 40 of file meta_object.cpp.

◆ ~AbstractMetaObjectBase()

class_loader::impl::AbstractMetaObjectBase::~AbstractMetaObjectBase ( )

Destructor for the class. THIS MUST NOT BE VIRTUAL AND OVERRIDDEN BY TEMPLATE SUBCLASSES, OTHERWISE THEY WILL PULL IN A REDUNDANT METAOBJECT DESTRUCTOR OUTSIDE OF libclass_loader WITHIN THE PLUGIN LIBRARY! T.

Definition at line 53 of file meta_object.cpp.

Member Function Documentation

◆ addOwningClassLoader()

void class_loader::impl::AbstractMetaObjectBase::addOwningClassLoader ( ClassLoader loader)

Associates a ClassLoader owner with this factory,.

Parameters
loaderHandle to the owning ClassLoader.

Definition at line 86 of file meta_object.cpp.

◆ baseClassName()

std::string class_loader::impl::AbstractMetaObjectBase::baseClassName ( ) const

gets the base class for the class this factory represents

Definition at line 66 of file meta_object.cpp.

◆ className()

std::string class_loader::impl::AbstractMetaObjectBase::className ( ) const

Gets the literal name of the class.

Returns
The literal name of the class as a C-string.

Definition at line 61 of file meta_object.cpp.

◆ dummyMethod()

virtual void class_loader::impl::AbstractMetaObjectBase::dummyMethod ( )
inlineprotectedvirtual

This is needed to make base class polymorphic (i.e. have a vtable)

Definition at line 131 of file meta_object.hpp.

◆ getAssociatedClassLoaders()

ClassLoaderVector class_loader::impl::AbstractMetaObjectBase::getAssociatedClassLoaders ( )

A vector of class loaders that own this metaobject

Definition at line 115 of file meta_object.cpp.

◆ getAssociatedLibraryPath()

std::string class_loader::impl::AbstractMetaObjectBase::getAssociatedLibraryPath ( )

Gets the path to the library associated with this factory.

Returns
Library path as a std::string

Definition at line 76 of file meta_object.cpp.

◆ isOwnedBy()

bool class_loader::impl::AbstractMetaObjectBase::isOwnedBy ( const ClassLoader loader)

Indicates if the factory is within the usable scope of a ClassLoader.

Parameters
loaderHandle to the owning ClassLoader.

Definition at line 103 of file meta_object.cpp.

◆ isOwnedByAnybody()

bool class_loader::impl::AbstractMetaObjectBase::isOwnedByAnybody ( )

Indicates if the factory is within the usable scope of any ClassLoader.

Definition at line 110 of file meta_object.cpp.

◆ removeOwningClassLoader()

void class_loader::impl::AbstractMetaObjectBase::removeOwningClassLoader ( const ClassLoader loader)

Removes a ClassLoader that is an owner of this factory.

Parameters
loaderHandle to the owning ClassLoader.

Definition at line 94 of file meta_object.cpp.

◆ setAssociatedLibraryPath()

void class_loader::impl::AbstractMetaObjectBase::setAssociatedLibraryPath ( std::string  library_path)

Sets the path to the library associated with this factory.

Definition at line 81 of file meta_object.cpp.

◆ typeidBaseClassName()

std::string class_loader::impl::AbstractMetaObjectBase::typeidBaseClassName ( ) const

Gets the name of the class as typeid(BASE_CLASS).name() would return it.

Definition at line 71 of file meta_object.cpp.

Member Data Documentation

◆ associated_class_loaders_

ClassLoaderVector class_loader::impl::AbstractMetaObjectBase::associated_class_loaders_
protected

Definition at line 134 of file meta_object.hpp.

◆ associated_library_path_

std::string class_loader::impl::AbstractMetaObjectBase::associated_library_path_
protected

Definition at line 135 of file meta_object.hpp.

◆ base_class_name_

std::string class_loader::impl::AbstractMetaObjectBase::base_class_name_
protected

Definition at line 136 of file meta_object.hpp.

◆ class_name_

std::string class_loader::impl::AbstractMetaObjectBase::class_name_
protected

Definition at line 137 of file meta_object.hpp.

◆ typeid_base_class_name_

std::string class_loader::impl::AbstractMetaObjectBase::typeid_base_class_name_
protected

Definition at line 138 of file meta_object.hpp.


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


class_loader
Author(s): Mirza Shah, Steven! Ragnarök
autogenerated on Mon Feb 28 2022 22:02:03