Skip to content

specialists/i_specialist.hpp

Abstract interface for all specialist modules (PTDS §5.2) More...

Namespaces

Name
sgns
sgns::neoswarm
sgns::neoswarm::specialists

Classes

Name
class sgns::neoswarm::specialists::ISpecialist
Abstract interface for specialist post-processing modules.

Detailed Description

Abstract interface for all specialist modules (PTDS §5.2)

Date: 2026-05-06

Source code

#ifndef NEOSWARM_SPECIALISTS_ISPECIALIST_HPP
#define NEOSWARM_SPECIALISTS_ISPECIALIST_HPP

#include "common/error.hpp"
#include <string>

namespace sgns::neoswarm::specialists
{
    class ISpecialist
    {
        public:
        virtual ~ISpecialist() = default;

        virtual std::string GetName() const = 0;

        virtual bool IsLoaded() const = 0;

        virtual outcome::result<void> Load( const std::string& model_path ) = 0;

        virtual outcome::result<std::string> Process( const std::string& input ) = 0;

        virtual float GetConfidence() const = 0;
    };

} // namespace sgns::neoswarm::specialists

#endif // NEOSWARM_SPECIALISTS_ISPECIALIST_HPP

Updated on 2026-07-25 at 22:56:57 +0000