vsdk 12.0.0
 
Loading...
Searching...
No Matches
Vsdk::Nlu::Engineabstract

Responsible for creation of Parser instances. More...

#include <Engine.hpp>

Inheritance diagram for Vsdk::Nlu::Engine:

Classes

struct  ParserInfo
 

Public Member Functions

 ~Engine () override
 
auto parser (std::string const &name) -> std::shared_ptr< Parser >
 Gets or constructs a shared Parser instance that's been previously configured.
 
auto parsersInfo () const -> std::unordered_map< std::string, ParserInfo > const &
 Gets available parsers info.
 

Static Public Member Functions

template<class T , typename... Args>
static auto make (Args &&... args) -> std::shared_ptr< Engine >
 Gets or constructs a shared Nlu::Engine instance of type T with args.
 

Protected Member Functions

 Engine (char const *name)
 
virtual auto makeParser (std::string name) -> Parser *=0
 
void setParserInfo (std::string const &name, ParserInfo info)
 

Detailed Description

Responsible for creation of Parser instances.

Constructor & Destructor Documentation

◆ Engine()

Engine::Engine ( char const *  name)
protected
Parameters
nameName of the configuration object in vsdk.json

◆ ~Engine()

Engine::~Engine ( )
override

Member Function Documentation

◆ make()

template<class T , typename... Args>
static auto Vsdk::Nlu::Engine::make ( Args &&...  args) -> std::shared_ptr<Engine>
static

Gets or constructs a shared Nlu::Engine instance of type T with args.

Note
If an engine of this type exists, a shared instance will be returned instead.

◆ parser()

auto Engine::parser ( std::string const &  name) -> std::shared_ptr<Parser>

Gets or constructs a shared Parser instance that's been previously configured.

Parameters
nameFound in the configuration of this engine, name of the Parser you want

◆ parsersInfo()

auto Engine::parsersInfo ( ) const -> std::unordered_map<std::string, ParserInfo> const &

Gets available parsers info.

◆ makeParser()

virtual auto Vsdk::Nlu::Engine::makeParser ( std::string  name) -> Parser *
protectedpure virtual

◆ setParserInfo()

void Engine::setParserInfo ( std::string const &  name,
Engine::ParserInfo  info 
)
protected
Note
If info.name.empty() then removes entry