Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
apra::FrameTypeRegistry Class Reference

#include <FrameTypeRegistry.h>

Collaboration diagram for apra::FrameTypeRegistry:
Collaboration graph

Public Member Functions

void registerFrameType (FrameTypeInfo info)
 
bool hasFrameType (const std::string &name) const
 
const FrameTypeInfogetFrameType (const std::string &name) const
 
std::vector< std::string > getAllFrameTypes () const
 
std::vector< std::string > getFrameTypesByTag (const std::string &tag) const
 
std::string getParent (const std::string &name) const
 
std::vector< std::string > getSubtypes (const std::string &name) const
 
std::vector< std::string > getAncestors (const std::string &name) const
 
bool isSubtype (const std::string &child, const std::string &parent) const
 
bool isCompatible (const std::string &outputType, const std::string &inputType) const
 
std::string toJson () const
 
std::string toMarkdown () const
 
void clear ()
 
size_t size () const
 

Static Public Member Functions

static FrameTypeRegistryinstance ()
 

Private Member Functions

 FrameTypeRegistry ()=default
 
 ~FrameTypeRegistry ()=default
 
 FrameTypeRegistry (const FrameTypeRegistry &)=delete
 
FrameTypeRegistryoperator= (const FrameTypeRegistry &)=delete
 
void invalidateCache () const
 

Private Attributes

std::map< std::string, FrameTypeInfotypes_
 
std::mutex mutex_
 
std::map< std::string, std::vector< std::string > > ancestorCache_
 
bool cacheValid_ = false
 

Constructor & Destructor Documentation

◆ FrameTypeRegistry() [1/2]

apra::FrameTypeRegistry::FrameTypeRegistry ( )
privatedefault

◆ ~FrameTypeRegistry()

apra::FrameTypeRegistry::~FrameTypeRegistry ( )
privatedefault

◆ FrameTypeRegistry() [2/2]

apra::FrameTypeRegistry::FrameTypeRegistry ( const FrameTypeRegistry & )
privatedelete

Member Function Documentation

◆ clear()

void apra::FrameTypeRegistry::clear ( )
Here is the call graph for this function:

◆ getAllFrameTypes()

std::vector< std::string > apra::FrameTypeRegistry::getAllFrameTypes ( ) const

◆ getAncestors()

std::vector< std::string > apra::FrameTypeRegistry::getAncestors ( const std::string & name) const
Here is the caller graph for this function:

◆ getFrameType()

const FrameTypeInfo * apra::FrameTypeRegistry::getFrameType ( const std::string & name) const

◆ getFrameTypesByTag()

std::vector< std::string > apra::FrameTypeRegistry::getFrameTypesByTag ( const std::string & tag) const

◆ getParent()

std::string apra::FrameTypeRegistry::getParent ( const std::string & name) const

◆ getSubtypes()

std::vector< std::string > apra::FrameTypeRegistry::getSubtypes ( const std::string & name) const

◆ hasFrameType()

bool apra::FrameTypeRegistry::hasFrameType ( const std::string & name) const

◆ instance()

FrameTypeRegistry & apra::FrameTypeRegistry::instance ( )
static
Here is the caller graph for this function:

◆ invalidateCache()

void apra::FrameTypeRegistry::invalidateCache ( ) const
private
Here is the caller graph for this function:

◆ isCompatible()

bool apra::FrameTypeRegistry::isCompatible ( const std::string & outputType,
const std::string & inputType ) const
Here is the call graph for this function:

◆ isSubtype()

bool apra::FrameTypeRegistry::isSubtype ( const std::string & child,
const std::string & parent ) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

FrameTypeRegistry & apra::FrameTypeRegistry::operator= ( const FrameTypeRegistry & )
privatedelete

◆ registerFrameType()

void apra::FrameTypeRegistry::registerFrameType ( FrameTypeInfo info)
Here is the call graph for this function:

◆ size()

size_t apra::FrameTypeRegistry::size ( ) const

◆ toJson()

std::string apra::FrameTypeRegistry::toJson ( ) const

◆ toMarkdown()

std::string apra::FrameTypeRegistry::toMarkdown ( ) const

Member Data Documentation

◆ ancestorCache_

std::map<std::string, std::vector<std::string> > apra::FrameTypeRegistry::ancestorCache_
mutableprivate

◆ cacheValid_

bool apra::FrameTypeRegistry::cacheValid_ = false
mutableprivate

◆ mutex_

std::mutex apra::FrameTypeRegistry::mutex_
mutableprivate

◆ types_

std::map<std::string, FrameTypeInfo> apra::FrameTypeRegistry::types_
private

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