RTC Toolkit 4.0.0
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
rtctk::componentFramework Namespace Reference

Namespaces

namespace  detail
 
namespace  test
 

Classes

struct  AbstractEvent
 Abstract Event Type that is used as a base for all events. More...
 
class  AdapterCreationException
 Thrown from service factory methods to indicate the adapter construction failed. More...
 
class  AlertConflictException
 Exception indicating that a metric such as counter or thread conflicts with already known metrics. More...
 
class  AlertDescription
 Uniquely describes an alert. More...
 
class  AlertEventPublisher
 Alert observer that publishes alerts to event service using the typed event AlertStatusEvent. More...
 
class  AlertLogger
 Simple alert observer that writes alerts to log. More...
 
class  AlertService
 Implementation of AlertServiceIf. More...
 
class  AlertServiceIf
 Alert Service interface. More...
 
class  AlertSource
 Models a single alert source that can be set or cleared. More...
 
class  AlertSourceFactoryIf
 Interface to create AlertSource. More...
 
struct  AlertStatusEvent
 Event published when alert status is changed. More...
 
class  AlertStatusObserverIf
 Interface to observe alert status. More...
 
class  Args
 Class used to parse default command line arguments. More...
 
struct  AsSpan
 Gets the span type for converting type T to a span. More...
 
struct  AsSpan< const std::array< T, Size > >
 
struct  AsSpan< MatrixBuffer< T, Allocator > >
 
struct  AsSpan< std::array< T, Size > >
 
struct  AsSpan< std::vector< T, Allocator > >
 
class  BufferManager
 BufferManager is a class that will allocate a big buffer and spit it up in several cache-aligned sub-buffers. More...
 
class  BufferMonitor
 Monitors min, mean and max occupation of a buffer and publishes them to OLDB. More...
 
class  BufferTooSmall
 The BufferTooSmall is thrown when an API call fails because the provided buffer is not big enough to hold the data. More...
 
class  CommandReplier
 Class that handles reception of commands using MAL. More...
 
class  CommandRequestor
 Extendable class that allows to send commands to components using MAL. More...
 
class  ComponentMetrics
 Implementation of ComponentMetricsIf. More...
 
class  ComponentMetricsConfigurator
 Configures ComponentMetrics from a runtime repository. More...
 
class  ComponentMetricsIf
 Component metrics interface. More...
 
struct  ComponentMetricsParams
 Dynamic parameters for ComponentMetrics. More...
 
struct  ComputationEvent
 Abstract Event Type that is used as a base for computation events. More...
 
struct  ComputationFinishedEvent
 Event Type used to signal that a computation has finished. More...
 
struct  ComputationStartedEvent
 Event Type used to signal that a computation has started. More...
 
struct  ConfigurationEvent
 Abstract Event Type that is used as a base for configuration events. More...
 
struct  ConfigurationRetrievedEvent
 Event Type used to signal that a configuration data item was retrieved from RTR. More...
 
struct  ConfigurationUpdatedEvent
 Event Type used to signal that a configuration data item was updated in RTR. More...
 
class  ConsulServiceRegistryAdapter
 Class that implements a very basic service discovery mechanism using Consul. More...
 
struct  CoordinationEvent
 Abstract Event Type that is used as a base for coordination events. More...
 
class  CounterMetricInfo
 Defines auxiliary information associated with each counter registered with ComponentMetricsIf. More...
 
class  CsvDataRecorder
 Recorder used for writing data to a CSV file. More...
 
class  DataPointPath
 This class provides a wrapper for a data point path. More...
 
class  DataPointRecordingUnit
 Recording Unit that can record datapoints. More...
 
class  DataRecorder
 This is an abstract class that can be used to implement an OutputStage for a Recording Unit. More...
 
class  Dds
 Common functionallty needed to create DDS entities like participant and topic that can be later used (extent) for DDS data publishing and subscribing . More...
 
class  DdsPub
 All functionallty needed to create DDS entities for DDS data publishing is concentrated in this class. More...
 
class  DdsReaderListener
 Listener class for different DDS events. More...
 
struct  DdsReaderParams
 Structure that keeps together topic name and DDS Data Writer listener. More...
 
class  DdsSub
 All functionality needed to create DDS entities for DDS data subscribing is concentrated in this class. More...
 
class  DdsWriterListener
 Listener class for differetn DDS events. More...
 
struct  DdsWriterParams
 Structure that keeps together topic name and DDS Data Writer listener. More...
 
class  DdtError
 This Exception is raised when the DDT Publisher returns an error that cannot be handled by the DDT Sink. More...
 
class  DdtSinkNotFound
 This Exception is raised when an invalid ddt sink is requested. More...
 
class  DebugExport
 
class  DirCreationError
 
class  DurationMonitor
 Monitors min, mean and max duration and publishes them to OLDB. More...
 
class  DynamicDataPointRecordingUnit
 Recording unit that takes datapoints from RuntimeRepo path "/component_id/dynamic/rec_units/unit_id/datapoint_list" in the format "oldb:..." or "rtr:..." and creates internal DataPointRecordingUnits that record the given paths. More...
 
class  EventPublisherIf
 Interface class for publishing JSON events. More...
 
class  EventServiceIf
 Interface class for providing pub/sub facilities for JSON events. More...
 
class  EventSubscriberIf
 Interface class for subscribing to JSON events. More...
 
class  FactoryRegistry
 A simple registry of various factory objects. More...
 
class  FileFormatError
 
class  FileOldbAdapter
 A file based OLDB adapter that simulates OLDB with a local YAML file. More...
 
class  FilePersistentRepoAdapter
 Implements a file based Persistent Configuration Repository adapter that can be used for testing. More...
 
class  FileRepository
 Implements a file based repository that stores datapoints in local YAML and FITS files. More...
 
class  FileRuntimeRepoAdapter
 File based implementation of a Runtime Configuration Repository adapter. More...
 
class  FileServiceRegistryAdapter
 Class that implements a very basic service discovery mechanism using a file. More...
 
struct  FitsColumn
 
struct  FitsColumnFormat
 Type that stores type information for a FITS TFORM string. More...
 
struct  FitsColumnFormat< bool >
 
struct  FitsColumnFormat< double >
 
struct  FitsColumnFormat< float >
 
struct  FitsColumnFormat< int16_t >
 
struct  FitsColumnFormat< int32_t >
 
struct  FitsColumnFormat< int64_t >
 
struct  FitsColumnFormat< int8_t >
 
struct  FitsColumnFormat< std::string >
 
struct  FitsColumnFormat< T, typename std::enable_if< IS_DYNAMIC_SPAN_TYPE< T > >::type >
 
struct  FitsColumnFormat< T, typename std::enable_if< IS_MATRIX_BUFFER_TYPE< T > >::type >
 
struct  FitsColumnFormat< T, typename std::enable_if< IS_STATIC_SPAN_TYPE< T > >::type >
 
struct  FitsColumnFormat< T, typename std::enable_if< IS_STD_ARRAY_TYPE< T > >::type >
 
struct  FitsColumnFormat< T, typename std::enable_if< IS_VECTOR_TYPE< T > >::type >
 
struct  FitsColumnFormat< uint16_t >
 
struct  FitsColumnFormat< uint32_t >
 
struct  FitsColumnFormat< uint8_t >
 
class  FitsDataRecorderFitsError
 
class  FitsRecorder
 
class  FrequencyEstimator
 Estimates the frequency in which Tick is called and publishes result to OLDB. More...
 
class  FuncCmdsImpl
 Class that handles reception of commands Run, Idle and Recover using MAL. More...
 
struct  HasSampleIdWithCorrectType
 
struct  HasSampleIdWithCorrectType< T, decltype(std::declval< T >().sample_id, 0)>
 
struct  HrtcConfigurationAppliedEvent
 Event Type used to signal that a configuration data item was applied in HRTC. More...
 
struct  HrtcConfigurationScheduledEvent
 Event Type used to signal that a configuration data item was scheduled to be applied in HRTC. More...
 
struct  HrtcStateChangedEvent
 Event Type used to signal that some entity in HRTC changed its state. More...
 
class  InitialisationException
 Thrown in cases where an initialisation routine has failed. More...
 
class  IntrospectionImpl
 Class that handles reception of introspection commands. More...
 
class  InvalidArgumentException
 Thrown if an argument passed to a method was invalid. More...
 
class  InvalidSetting
 This Exception is raised when a invalid setting was used in the runtime repo. More...
 
class  InvalidStateChange
 This Exception is raised when the state change requested is invalid. More...
 
class  InvalidUriInFileError
 
class  IpcqError
 This Exception is raised when the ipc queue returns an error that cannot be handled by the Telemetry Source Thread. More...
 
class  IpcqRecordingUnit
 Recording Unit that can record from shared memory queue. More...
 
struct  is_base_of_template_impl
 
struct  IsAdapterIdTypeDefined
 Structure for detecting if a class declared a type called AdapterIdType using SFINAE. More...
 
struct  IsAdapterIdTypeDefined< T, std::void_t< decltype(std::declval< typename T::AdapterIdType >())> >
 Structure for detecting if a class declared a type called AdapterIdType using SFINAE. More...
 
struct  IsComplexType
 Structure for detecting std::vector types using SFINAE. More...
 
struct  IsComplexType< std::complex< T > >
 Structure for detecting std::vector types using SFINAE. More...
 
struct  IsDynamicSpanType
 Structure for detecting gsl::span types of dynamic size using SFINAE. More...
 
struct  IsDynamicSpanType< gsl::span< T, N > >
 Structure for detecting gsl::span types of dynamic size using SFINAE. More...
 
struct  IsMatrixBufferType
 Structure for detecting MatrixBuffer types using SFINAE. More...
 
struct  IsMatrixBufferType< MatrixBuffer< T, A > >
 Structure for detecting MatrixBuffer types using SFINAE. More...
 
struct  IsMatrixSpanType
 Structure for detecting MatrixSpan types using SFINAE. More...
 
struct  IsMatrixSpanType< MatrixSpan< T > >
 Structure for detecting MatrixSpan types using SFINAE. More...
 
struct  IsSpanConvertible
 Type trait to check if a type can be converted to a Span using AsSpan/ToSpan. More...
 
struct  IsSpanType
 Structure for detecting gsl::span types using SFINAE. More...
 
struct  IsSpanType< gsl::span< T > >
 Structure for detecting gsl::span types using SFINAE. More...
 
struct  IsStaticSpanType
 Structure for detecting gsl::span types of fixed size using SFINAE. More...
 
struct  IsStaticSpanType< gsl::span< T, N > >
 Structure for detecting gsl::span types of fixed size using SFINAE. More...
 
struct  IsStdArrayType
 Structure for detecting std::array types using SFINAE. More...
 
struct  IsStdArrayType< std::array< T, N > >
 Structure for detecting std::array types using SFINAE. More...
 
struct  IsSupportedUriSchemeDefined
 Structure for detecting if a class declared a member called SUPPORTED_URI_SCHEME using SFINAE. More...
 
struct  IsSupportedUriSchemeDefined< T, std::void_t< decltype(T::SUPPORTED_URI_SCHEME)> >
 Structure for detecting if a class declared a member called SUPPORTED_URI_SCHEME using SFINAE. More...
 
struct  IsVectorType
 Structure for detecting std::vector types using SFINAE. More...
 
struct  IsVectorType< std::vector< T > >
 Structure for detecting std::vector types using SFINAE. More...
 
class  JsonEventRecordingUnit
 Recording Unit that can record JSON events. More...
 
class  LogInfo
 
class  LogInitializer
 RAII class to clean-up logging without leaking memory. More...
 
struct  Loopaware
 Life cycle extension to make RtcComponent Loopaware. More...
 
class  LoopCmdsImpl
 Class that handles reception of commands Open and Close using MAL. More...
 
class  MalDdsEventPublisher
 Implementation of event publisher. More...
 
class  MalDdsEventService
 Implementation of low-level event service using CII MAL DDS as middleware. More...
 
class  MalDdsEventSubscriber
 Implementation of event subscriber. More...
 
class  MatrixBuffer
 A buffer class representing 2D matrix data. More...
 
class  MatrixSpan
 A span referencing a 2D matrix buffer. More...
 
class  MeasCmdsImpl
 Class that handles reception of command Measure using MAL. More...
 
struct  Measurable
 Life cycle extension to make RtcComponent Measurable. More...
 
class  MetricConflictException
 Exception indicating that a metric such as counter or thread conflicts with already known metrics. More...
 
struct  MockComponentMetrics
 
class  ModelBuilderBase
 Base class of the ModelBuilder. More...
 
class  ModelManipulator
 Class that provides methods to manipulate the state machine model. More...
 
class  NestedExceptionPrinter
 Adapter object intended to be used in contexts without direct access to the output-stream object. More...
 
class  NoBufferAvailableException
 
class  NotImplementedException
 The NotImplementedException is thrown whenever an attempt is made to use a feature or function that has not been implemented. More...
 
class  OldbAdapter
 Provides access to the OLDB to read and write datapoints. More...
 
class  OldbIf
 Base interface for all OLDB adapters. More...
 
class  OptCmdsImpl
 Class that handles reception of command Optimise using MAL. More...
 
struct  Optimisable
 Life cycle extension to make RtcComponent Optimisable. More...
 
class  PathMapper
 Used to calculate URIs from datapoint paths. More...
 
class  PathMissingException
 
class  PersistentRepoAdapter
 Implements the Persistent Configuration Repository adapter that uses the CII configuration service as the backend. More...
 
class  PersistentRepoIf
 Base interface for all Persistent Configuration Repository adapters. More...
 
class  PlantUmlExport
 
class  PopulateConfig
 A utility class used to populate the Runtime Configuration Repository. More...
 
class  PythonInterpreter
 Helper class for managing the lifecycle of an embedded Python interpreter. More...
 
struct  RecordingInfo
 
struct  RecordingInfo< AlertStatusEvent >
 Trait class that defines how AlertStatusEvent is recorded. More...
 
struct  RecordingInfo< ComputationEvent >
 Trait class that defines how ComputationEvent is recorded. More...
 
struct  RecordingInfo< ComputationFinishedEvent >
 Trait class that defines how ComputationFinishedEvent is recorded. More...
 
struct  RecordingInfo< ComputationStartedEvent >
 Trait class that defines how ComputationStartedEvent is recorded. More...
 
struct  RecordingInfo< ConfigurationEvent >
 Trait class that defines how ConfigurationEvent is recorded. More...
 
struct  RecordingInfo< ConfigurationRetrievedEvent >
 Trait class that defines how ConfigurationRetrievedEvent is recorded. More...
 
struct  RecordingInfo< ConfigurationUpdatedEvent >
 Trait class that defines how ConfigurationUpdatedEvent is recorded. More...
 
struct  RecordingInfo< CoordinationEvent >
 Trait class that defines how CoordinationEvent is recorded. More...
 
struct  RecordingInfo< HrtcConfigurationAppliedEvent >
 Trait class that defines how HrtcConfigurationAppliedEvent is recorded. More...
 
struct  RecordingInfo< HrtcConfigurationScheduledEvent >
 Trait class that defines how HrtcConfigurationScheduledEvent is recorded. More...
 
struct  RecordingInfo< HrtcStateChangedEvent >
 Trait class that defines how HrtcStateChangedEvent is recorded. More...
 
struct  RecordingInfo< StateChangedEvent >
 Trait class that defines how StateChangedEvent is recorded. More...
 
class  RecordingUnit
 Abstract base class for all sources that can be recorded by the MetadataCollector and TelemetryRecorder. More...
 
class  RegisterFactory
 A helper class used to perform registration and deregistration of a factory. More...
 
class  RepositoryFactory
 A base class for factories that create instances of repository adapters from URIs. More...
 
class  RepositoryIf
 Abstract interface providing basic read and write facilities to a repository. More...
 
class  RepositorySubscriberIf
 Abstract interface providing subscription facilities for a repository. More...
 
class  RequestAborted
 Thrown if somebody sent a stop or abort command. More...
 
class  RequestFailed
 Thrown if the command was accepted but the task to run failed. More...
 
class  RequestRejected
 Thrown if a command is not allowed in current state or guard. More...
 
struct  RtcComponent
 Basic life cycle for RtcComponent. More...
 
class  RtctkException
 The RtctkException class is the base class for all Rtctk exceptions. More...
 
struct  Runnable
 Life cycle extension to make RtcComponent Runnable. More...
 
class  RuntimeRepoAdapter
 Implementation of the Runtime Configuration Repository backed by the OLDB. More...
 
class  RuntimeRepoIf
 Base interface for all Runtime Configuration Repository adapters. More...
 
class  ScXmlExport
 
class  ServerAliasCache
 A utility class used to lookup the Server Alias for a given Data Point Path. More...
 
class  ServiceContainer
 Container class that holds services of any type. More...
 
class  ServiceDiscovery
 Class that implements a very basic service discovery mechanism. More...
 
class  ServiceRegistryIf
 Class that implements a service registry to be used by the service discovery. More...
 
class  SmCatExport
 
struct  State
 
struct  StateChangedEvent
 Event Type used to signal that some entity changed its state. More...
 
struct  StateMachine
 
class  StateMachineEngine
 
class  StatePublisher
 Class used to publish state-changed-topic using MAL. More...
 
class  StateSubscriber
 Class used to subscribe to state-changed-topic using MAL. More...
 
class  StdCmdsImpl
 Class that handles reception of stdif commands. More...
 
struct  StdComponent
 Basic life cycle for StdComponent. More...
 
class  StdIfRequestAborted
 Thrown if somebody sent a stop or abort command. More...
 
class  StdIfRequestFailed
 Thrown if the command was accepted but the task to run failed. More...
 
class  StdIfRequestRejected
 Thrown if the command is not allowed in current state or guard. More...
 
class  SuspCmdsImpl
 Class that handles reception of commands Suspend and Resume using MAL. More...
 
struct  Suspendable
 Life cycle extension to make Loopaware RtcComponent Suspendable. More...
 
class  ThreadActivity
 Class that handles state machine activities. More...
 
class  ThreadMetricInfo
 Defines auxiliary information associated with each thread registered with ComponentMetricsIf. More...
 
struct  Transition
 
class  TypedEventPublisher
 An event publisher that is aware of event types. More...
 
class  TypedEventRecordingUnit
 Recording Unit that can record typed events. More...
 
class  TypedEventService
 A high-level event service API that is aware of event types. More...
 
class  TypedEventSubscriber
 An event subscriber that is aware of event types. More...
 
class  UnsupportedTypeException
 The UnsupportedTypeException is thrown whenever an attempt is made to use an unsupported type in the RTC Toolkit API. More...
 
class  UnsupportedUriException
 The UnsupportedUriException is thrown whenever an attempt is made to use an unsupported URI in the RTC Toolkit API. More...
 
class  UpdateCmdsImpl
 Class that handles reception of command Update using MAL. More...
 

Typedefs

using RtcComponentSuper = StdComponent
 
using ActionMethod = std::function< void(scxml4cpp::Context *c)>
 
using GuardMethod = std::function< bool(scxml4cpp::Context *c)>
 
using ActivityMethod = std::function< void(StopToken f)>
 
using SuccessMethod = std::function< void()>
 
using FailureMethod = std::function< void(std::exception_ptr)>
 
using RejectMethod = std::function< void(const rad::AnyEvent &, const std::string &state)>
 
using StateMethod = std::function< void(const std::string &)>
 
template<template< typename... > class Base, typename Derived >
using is_base_of_template = typename is_base_of_template_impl< Base, Derived >::type
 
using JsonPayload = nlohmann::json
 Type requirements:
 
using StopSource = rad::StopSource
 
using StopToken = rad::StopToken
 
template<typename T >
using AsSpanT = typename AsSpan< T >::TYPE
 
using RecUnitListType = std::list< std::unique_ptr< RecordingUnit > >
 
using RecUnitFactoryType = std::function< RecUnitListType(std::string const &, ServiceContainer &)>
 
using PathList = RepositoryIf::PathList
 
using ReadRequest = RepositoryIf::ReadRequest
 
using WriteRequest = RepositoryIf::WriteRequest
 
using Response = RepositoryIf::Response
 
using RepositoryServiceException = PopulateConfig::RepositoryServiceException
 
using InvalidConfigException = PopulateConfig::InvalidConfigException
 
using InvalidDataPointException = PopulateConfig::InvalidDataPointException
 

Enumerations

enum  StateType {
  Machine , Simple , Parallel , Composite ,
  Initial , Final
}
 
enum class  DataPointRecordingSource { OLDB , RUNTIMEREPO }
 

Functions

template<typename EventType >
elt::mal::future< std::string > InjectReqRepEvent (StateMachineEngine &engine)
 
template<typename EventType , typename PayloadType >
elt::mal::future< std::string > InjectReqRepEvent (StateMachineEngine &engine, PayloadType &payload)
 
std::stringstream Export (StateMachine &sm, std::string const &format)
 Export the in-memory state machine model in various formats.
 
template<class BL , class BLF >
void RunAsRtcComponent (Args const &args, BLF factory)
 RTC Component runner function, needed to run custom BusinessLogic as RTC Component.
 
template<class BL >
void RunAsRtcComponent (Args const &args)
 RTC Component runner function, needed to run custom BusinessLogic as RTC Component.
 
int Main (int argc, char *argv[])
 Main function implementation.
 
template<typename EVENT >
std::shared_ptr< typename EVENT::payload_t > GetPayloadNothrow (scxml4cpp::Context *c)
 
std::string ReplaceAll (std::string str, const std::string &from, const std::string &to)
 
std::ostream & operator<< (std::ostream &os, AlertServiceIf::AlertStatus const &status)
 
std::istream & operator>> (std::istream &input, DataPointPath &path)
 
void PrintComposedExceptions (std::ostream &os, std::vector< std::exception_ptr > const &exceptions)
 Print composed exception(s) in exception messages to os.
 
void PrintNestedExceptions (std::ostream &os, std::exception const &exception)
 Print nested exception(s) in exception messages to os.
 
void PrintNestedExceptions (std::ostream &os, std::exception_ptr ptr)
 Print nested exception(s) in exception messages to os.
 
DataPointPath operator""_dppath (const char *str, std::size_t len)
 
bool operator== (const DataPointPath &lhs, const char *rhs) noexcept
 
bool operator< (const DataPointPath &lhs, const char *rhs) noexcept
 
bool operator<= (const DataPointPath &lhs, const char *rhs) noexcept
 
bool operator> (const DataPointPath &lhs, const char *rhs) noexcept
 
bool operator>= (const DataPointPath &lhs, const char *rhs) noexcept
 
bool operator== (const DataPointPath &lhs, const std::string &rhs) noexcept
 
bool operator< (const DataPointPath &lhs, const std::string &rhs) noexcept
 
bool operator<= (const DataPointPath &lhs, const std::string &rhs) noexcept
 
bool operator> (const DataPointPath &lhs, const std::string &rhs) noexcept
 
bool operator>= (const DataPointPath &lhs, const std::string &rhs) noexcept
 
bool operator== (const DataPointPath &lhs, const DataPointPath &rhs) noexcept
 
bool operator< (const DataPointPath &lhs, const DataPointPath &rhs) noexcept
 
bool operator<= (const DataPointPath &lhs, const DataPointPath &rhs) noexcept
 
bool operator> (const DataPointPath &lhs, const DataPointPath &rhs) noexcept
 
bool operator>= (const DataPointPath &lhs, const DataPointPath &rhs) noexcept
 
DataPointPath operator+ (DataPointPath lhs, const DataPointPath &rhs)
 
DataPointPath operator/ (DataPointPath lhs, const DataPointPath &rhs)
 
std::ostream & operator<< (std::ostream &out, const DataPointPath &rhs)
 
void to_json (JsonPayload &j, const std::vector< DataPointPath > &v)
 
void from_json (const JsonPayload &j, std::vector< DataPointPath > &v)
 
template<class E >
auto WrapWithNested (E &&exception) noexcept(std::is_nothrow_constructible_v< detail::UnspecifiedNested< typename std::decay_t< E > >, E && >)
 Constructs an unspecified exception that derives from both the provided object and std::nested_exception.
 
template<typename T , typename A >
constexpr bool operator== (const MatrixBuffer< T, A > &lhs, const MatrixBuffer< T, A > &rhs) noexcept
 Compares two MatrixBuffer objects and returns true if they have the same shape and identical elements.
 
template<typename T , typename A >
constexpr bool operator!= (const MatrixBuffer< T, A > &lhs, const MatrixBuffer< T, A > &rhs) noexcept
 Compares two MatrixBuffer objects and returns true if they do not have the same shape or the elements are different.
 
template<typename T , typename A >
constexpr bool operator< (const MatrixBuffer< T, A > &lhs, const MatrixBuffer< T, A > &rhs) noexcept
 Compares two MatrixBuffer objects and returns true for the following cases:
 
template<typename T , typename A >
constexpr bool operator<= (const MatrixBuffer< T, A > &lhs, const MatrixBuffer< T, A > &rhs) noexcept
 Compares two MatrixBuffer objects and effectively returns rhs < lhs or rhs == lhs.
 
template<typename T , typename A >
constexpr bool operator> (const MatrixBuffer< T, A > &lhs, const MatrixBuffer< T, A > &rhs) noexcept
 Compares two MatrixBuffer objects and returns true for the following cases:
 
template<typename T , typename A >
constexpr bool operator>= (const MatrixBuffer< T, A > &lhs, const MatrixBuffer< T, A > &rhs) noexcept
 Compares two MatrixBuffer objects and effectively returns rhs > lhs or rhs == lhs.
 
template<typename T >
bool GetOptionalParam (RepositoryIf &repo, const DataPointPath &path, T &value)
 Get optional datapoint.
 
std::optional< numapp::NumaPolicies > GetNumaPolicies (RepositoryIf &repo, const DataPointPath &path)
 Constructs a NumaPolicies object from the configuration datapoints found under the given datapoint path.
 
std::string RetcodeToString (ReturnCode_t retcode)
 
const char * GetTopicName (DataWriter *writer)
 
const char * GetTopicName (DataReader *reader)
 
 FASTDDS_SEQUENCE (AgnosticTopicSeq, AgnosticTopic)
 
 FASTDDS_SEQUENCE (SampleInfoSeq, SampleInfo)
 
void * FitsDataRecorderFactory (std::type_index)
 A Recorder factory for the DynamicDataPointRecordingUnit that creates FitsRecorders.
 
template<class T >
std::string GetFitsType (const std::optional< size_t > length=FitsColumnFormat< T >::COUNT)
 Get the TFORM value for a type.
 
template<class T , class... Args>
void GetFITSTForm (std::vector< std::string > &input)
 Get a vactor of TFORM strings for a list of types.
 
template<class T , class... Args>
void GetFITSTFormWithLength (std::vector< std::string > &input, const gsl::span< std::optional< size_t >, sizeof...(Args)+1 > sizes)
 Get a vactor of TFORM strings for a list of types using the custom sizes provided.
 
template<class T , class... Args>
void AddRecUnit (RecUnitListType &units, Args &&... args)
 Add a RecordingUnit to the RecordingUnit list of a TelemetryRecorder oder MetadataCollector.
 
template<typename T >
AsSpanT< T > ToSpan (T &data)
 Simple function that converts types that are convertible to spans to a span.
 
template<typename T >
std::string PrettyTypeName ()
 
uint64_t GetTimestamp ()
 
std::string GetCfitsioErrorMsg (int status)
 Helper function to convert a Cfitsio status code to a human readable message.
 
std::string CfitsioImageTypeToString (int bitpix)
 Returns a string representation of a Cfitsio image type code.
 
std::string CfitsioDataTypeToString (int datatype)
 Returns a string representation of a Cfitsio data type code.
 
const std::type_info & GetFitsImageType (const std::string &filename)
 Get the C++ type corresponding to a FITS image.
 
std::size_t GetFitsImageSize (const std::string &filename)
 Get the number of pixels in a FITS image.
 
template<typename T >
void WriteMatrixToFits (const std::string &filename, const T &matrix, bool boolean_items=false)
 Writes data representing a matrix as an image to a FITS file.
 
template<typename T >
void ReadMatrixFromFits (const std::string &filename, T &matrix)
 Reads a FITS file image into a buffer object representing a matrix.
 
template<typename T >
void WriteVectorToFits (const std::string &filename, const T &vector, bool boolean_items=false)
 Writes data as a 1D image to a FITS file.
 
template<typename T >
void ReadVectorFromFits (const std::string &filename, T &vector)
 Reads a FITS file containing a 1D image into a buffer object representing a vector.
 
template<typename A >
void WriteMatrixToFits (const std::string &filename, const MatrixBuffer< bool, A > &matrix)
 Writes a matrix of boolean values as a FITS image with 8 bits per pixel.
 
template<typename A >
void ReadMatrixFromFits (const std::string &filename, MatrixBuffer< bool, A > &matrix)
 Reads a matrix of boolean values from a FITS image with 8 bits per pixel.
 
template<typename A >
void WriteVectorToFits (const std::string &filename, const std::vector< bool, A > &vector)
 Write a vector of boolean values to a FITS file as a 1D image of 8 bit pixels.
 
template<typename A >
void ReadVectorFromFits (const std::string &filename, std::vector< bool, A > &vector)
 Read a vector of boolean values from a FITS files containing a 1D image of 8 bit pixels.
 
void LogConfigure (const std::string &app_name, const std::string &props_file_name)
 Performs custom logging configuration for any application.
 
void LogConfigure (const std::string &app_name, log4cplus::LogLevel default_log_level=log4cplus::INFO_LOG_LEVEL)
 Performs default logging configuration for RTC Component applications.
 
void LogConfigureTool (const std::string &app_name, log4cplus::LogLevel default_log_level=log4cplus::ERROR_LOG_LEVEL, bool log_to_file=false)
 Performs default logging configuration for Client Applications and Standalone Tools.
 
log4cplus::Logger & GetLogger (const std::string &name="app")
 Get handle to a specific logger.
 
void ConfigureLogProperties (log4cplus::LogLevel log_level, std::string const &app_name, fs::path const &logsink_path="")
 
fs::path GetLogsinkPath ()
 
bool operator== (ComponentMetricsParams const &lhs, ComponentMetricsParams const &rhs) noexcept
 Equality operator for ComponentMetricsParams.
 
bool operator!= (ComponentMetricsParams const &lhs, ComponentMetricsParams const &rhs) noexcept
 Inequality operator for ComponentMetricsParams.
 
std::ostream & operator<< (std::ostream &os, ComponentMetricsParams const &params)
 Formatter for ComponentMetricsParams.
 
template<typename InputIter , typename T , typename U >
constexpr void GenerateRamp (InputIter begin, InputIter end, T offset, U slope)
 Generates a ramp of values.
 
template<typename InputIter , typename T >
constexpr void GenerateAlternatingRamp (InputIter begin, InputIter end, std::uint32_t sample_id, T offset)
 Generates a ramp of values alternating on the sample ID.
 
template<typename InputIter , typename T , typename U >
constexpr bool ValidRamp (InputIter begin, InputIter end, T offset, U slope)
 Checks to see if the buffer contains a ramp of values.
 
template<typename InputIter , typename T >
constexpr bool ValidAlternatingRamp (InputIter begin, InputIter end, std::uint32_t sample_id, T offset)
 Checks to see if the buffer contains an alternating ramp of values.
 
py::module RTCTK_API LoadMatrixBufferPyBinds ()
 Imports the embedded Python module to access supported C++ MatrixBuffer objects.
 
py::module RTCTK_API LoadVectorBufferPyBinds ()
 Imports the embedded Python module to access supported C++ std::vector objects.
 
 PYBIND11_EMBEDDED_MODULE (Import_Matrix_Buffer, mod)
 
 PYBIND11_EMBEDDED_MODULE (Import_Vector_Buffer, mod)
 

Variables

const std::string STD_OK_REPLY = "OK"
 
template<template< typename... > class Base, typename Derived >
constexpr bool is_base_of_template_v = is_base_of_template<Base, Derived>::value
 
template<typename T >
constexpr bool IS_VECTOR_TYPE = IsVectorType<T>::value
 Is true if the type is a std::vector<U> of some type U.
 
template<typename T >
constexpr bool IS_MATRIX_BUFFER_TYPE = IsMatrixBufferType<T>::value
 Is true if the type is a MatrixBuffer<U> of some type U.
 
template<typename T >
constexpr bool IS_SPAN_TYPE = IsSpanType<T>::value
 Is true if the type is a gsl::span<U> of some type U.
 
template<typename T >
constexpr bool IS_MATRIX_SPAN_TYPE = IsMatrixSpanType<T>::value
 Is true if the type is a MatrixSpan<U> of some type U.
 
template<typename T >
constexpr bool IS_STD_ARRAY_TYPE = IsStdArrayType<T>::value
 Is true if the type is a std::array<U> of some type U.
 
template<typename T >
constexpr bool IS_STATIC_SPAN_TYPE = IsStaticSpanType<T>::value
 Is true if the type is a gsl::span type with fixed size.
 
template<typename T >
constexpr bool IS_DYNAMIC_SPAN_TYPE = IsDynamicSpanType<T>::value
 Is true if the type is a gsl::span type with dynamic size.
 
template<typename T >
constexpr bool IS_SUPPORTED_URI_SCHEME_DEFINED = IsSupportedUriSchemeDefined<T>::value
 Is true if the class contains the member SUPPORTED_URI_SCHEME.
 
template<typename T >
constexpr bool IS_ADAPTER_ID_TYPE_DEFINED = IsAdapterIdTypeDefined<T>::value
 Is true if the class contains the type declaration for AdapterIdType.
 
template<typename T >
constexpr bool IS_COMPLEX_TYPE = IsComplexType<T>::value
 Is true if the type is a std::complex<U> of some type U.
 
template<typename T >
constexpr bool HAS_MEMBER_SAMPLE_ID_UINT32T = HasSampleIdWithCorrectType<T>::value
 
template<typename T >
constexpr bool IS_SPAN_CONVERTIBLE = IsSpanConvertible<T>::value
 Small helper alias for IsSpanConvertible.
 

Typedef Documentation

◆ ActionMethod

using rtctk::componentFramework::ActionMethod = typedef std::function<void(scxml4cpp::Context* c)>

◆ ActivityMethod

using rtctk::componentFramework::ActivityMethod = typedef std::function<void(StopToken f)>

◆ AsSpanT

template<typename T >
using rtctk::componentFramework::AsSpanT = typedef typename AsSpan<T>::TYPE

◆ FailureMethod

using rtctk::componentFramework::FailureMethod = typedef std::function<void(std::exception_ptr)>

◆ GuardMethod

using rtctk::componentFramework::GuardMethod = typedef std::function<bool(scxml4cpp::Context* c)>

◆ InvalidConfigException

◆ InvalidDataPointException

◆ is_base_of_template

template<template< typename... > class Base, typename Derived >
using rtctk::componentFramework::is_base_of_template = typedef typename is_base_of_template_impl<Base, Derived>::type

◆ JsonPayload

using rtctk::componentFramework::JsonPayload = typedef nlohmann::json

Type requirements:

  • DefaultConstructible
  • CopyAssignable

◆ PathList

◆ ReadRequest

◆ RecUnitFactoryType

using rtctk::componentFramework::RecUnitFactoryType = typedef std::function<RecUnitListType(std::string const&, ServiceContainer&)>

◆ RecUnitListType

using rtctk::componentFramework::RecUnitListType = typedef std::list<std::unique_ptr<RecordingUnit> >

◆ RejectMethod

using rtctk::componentFramework::RejectMethod = typedef std::function<void(const rad::AnyEvent&, const std::string& state)>

◆ RepositoryServiceException

◆ Response

◆ RtcComponentSuper

◆ StateMethod

using rtctk::componentFramework::StateMethod = typedef std::function<void(const std::string&)>

◆ StopSource

using rtctk::componentFramework::StopSource = typedef rad::StopSource

◆ StopToken

using rtctk::componentFramework::StopToken = typedef rad::StopToken

◆ SuccessMethod

using rtctk::componentFramework::SuccessMethod = typedef std::function<void()>

◆ WriteRequest

Enumeration Type Documentation

◆ DataPointRecordingSource

Enumerator
OLDB 
RUNTIMEREPO 

◆ StateType

Enumerator
Machine 
Simple 
Parallel 
Composite 
Initial 
Final 

Function Documentation

◆ AddRecUnit()

template<class T , class... Args>
void rtctk::componentFramework::AddRecUnit ( RecUnitListType units,
Args &&...  args 
)

Add a RecordingUnit to the RecordingUnit list of a TelemetryRecorder oder MetadataCollector.

Parameters
unitslist of RecordingUnits
argsArguments for the Constructor of that RecordingUnit

◆ ConfigureLogProperties()

void rtctk::componentFramework::ConfigureLogProperties ( log4cplus::LogLevel  log_level,
std::string const &  app_name,
fs::path const &  logsink_path = "" 
)

◆ Export()

std::stringstream rtctk::componentFramework::Export ( StateMachine sm,
std::string const &  format 
)

Export the in-memory state machine model in various formats.

Parameters
smreference to the state machine model.
formatformat as a string, options "scxml", "smcat", "puml", "debug"
Returns
stringstream with the exported model
Exceptions
variousrtctk::componentFramework::RtctkException exceptions

◆ FASTDDS_SEQUENCE() [1/2]

rtctk::componentFramework::FASTDDS_SEQUENCE ( AgnosticTopicSeq  ,
AgnosticTopic   
)

◆ FASTDDS_SEQUENCE() [2/2]

rtctk::componentFramework::FASTDDS_SEQUENCE ( SampleInfoSeq  ,
SampleInfo   
)

◆ FitsDataRecorderFactory()

void * rtctk::componentFramework::FitsDataRecorderFactory ( std::type_index  )

A Recorder factory for the DynamicDataPointRecordingUnit that creates FitsRecorders.

Returns
FitsDataRecorder user is responsible to free it

◆ from_json()

void rtctk::componentFramework::from_json ( const JsonPayload j,
std::vector< DataPointPath > &  v 
)
inline

◆ GenerateAlternatingRamp()

template<typename InputIter , typename T >
constexpr void rtctk::componentFramework::GenerateAlternatingRamp ( InputIter  begin,
InputIter  end,
std::uint32_t  sample_id,
offset 
)
constexpr

Generates a ramp of values alternating on the sample ID.

This will generate a positive increasing ramp for even sample ID numbers starting with the offset value. A negative decreasing ramp is generated for odd sample ID numbers starting at minus the offset. The difference between consecutive values is always 1 (or 2+2i if dealing with complex numbers).

The following code snippet should help to indicate the type of pattern that is generated:

std::array<float, 6> buffer;
GenerateAlternatingRamp(buffer.begin(), buffer.end(), 100, 1);
assert(( buffer == std::array<float, 6>{1, 2, 3, 4, 5, 6} ));
GenerateAlternatingRamp(buffer.begin(), buffer.end(), 101, 2);
assert(( buffer == std::array<float, 6>{-2, -3, -4, -5, -6, -7} ));
constexpr void GenerateAlternatingRamp(InputIter begin, InputIter end, std::uint32_t sample_id, T offset)
Generates a ramp of values alternating on the sample ID.
Definition: patternGeneration.hpp:88

Similarly for complex numbers:

using C = std::complex<float>;
std::array<C, 3> buffer;
GenerateAlternatingRamp(buffer.begin(), buffer.end(), 100, 1);
assert(( buffer == std::array<C, 3>{C(1, 2), C(3, 4), C(5, 6)} ));
GenerateAlternatingRamp(buffer.begin(), buffer.end(), 101, 2);
assert(( buffer == std::array<C, 3>{C(-2, -3), C(-4, -5), C(-6, -7)} ));
See also
ValidAlternatingRamp for the method to check that a buffer contains this test pattern.
Parameters
[in]beginThe iterator pointing to the start of the buffer.
[in]endThe iterator pointing to one element past the end of the buffer.
[in]sample_idThe identifier number of the sample used to choose the ramp's slope.
[in]offsetThe value of the first element written to the buffer.

◆ GenerateRamp()

template<typename InputIter , typename T , typename U >
constexpr void rtctk::componentFramework::GenerateRamp ( InputIter  begin,
InputIter  end,
offset,
slope 
)
constexpr

Generates a ramp of values.

Fills the buffer with an array of values representing the line: y(x) = a + b x
Where a is the offset parameter, b is the slope parameter and x is a positive integer, i.e. 0, 1, 2, ... etc.

See also
ValidRamp for the method to check that a buffer contains this test pattern.
Parameters
[in]beginThe iterator pointing to the start of the buffer.
[in]endThe iterator pointing to one element past the end of the buffer.
[in]offsetThe value of the first element written to the buffer.
[in]slopeThe slope of the line, also interpreted as the delta between elements.

◆ GetFITSTForm()

template<class T , class... Args>
void rtctk::componentFramework::GetFITSTForm ( std::vector< std::string > &  input)

Get a vactor of TFORM strings for a list of types.

Parameters
inputvector into which the TFORM values should be written

◆ GetFITSTFormWithLength()

template<class T , class... Args>
void rtctk::componentFramework::GetFITSTFormWithLength ( std::vector< std::string > &  input,
const gsl::span< std::optional< size_t >, sizeof...(Args)+1 >  sizes 
)

Get a vactor of TFORM strings for a list of types using the custom sizes provided.

Parameters
inputvector into which the TFORM values should be written
sizesvector into which the TFORM values should be written

◆ GetFitsType()

template<class T >
std::string rtctk::componentFramework::GetFitsType ( const std::optional< size_t >  length = FitsColumnFormat<T>::COUNT)

Get the TFORM value for a type.

Supports integers, float, double and std::arrays with these types

◆ GetLogsinkPath()

fs::path rtctk::componentFramework::GetLogsinkPath ( )

◆ GetPayloadNothrow()

template<typename EVENT >
std::shared_ptr< typename EVENT::payload_t > rtctk::componentFramework::GetPayloadNothrow ( scxml4cpp::Context *  c)

◆ GetTimestamp()

uint64_t rtctk::componentFramework::GetTimestamp ( )
inline

◆ GetTopicName() [1/2]

const char * rtctk::componentFramework::GetTopicName ( DataReader *  reader)

◆ GetTopicName() [2/2]

const char * rtctk::componentFramework::GetTopicName ( DataWriter *  writer)

◆ InjectReqRepEvent() [1/2]

template<typename EventType >
elt::mal::future< std::string > rtctk::componentFramework::InjectReqRepEvent ( StateMachineEngine engine)

◆ InjectReqRepEvent() [2/2]

template<typename EventType , typename PayloadType >
elt::mal::future< std::string > rtctk::componentFramework::InjectReqRepEvent ( StateMachineEngine engine,
PayloadType &  payload 
)

◆ Main()

int rtctk::componentFramework::Main ( int  argc,
char *  argv[] 
)

Main function implementation.

Main reason for this is to have the implementation inside a namespace owned by rtctk to avoid name lookup problems.

◆ operator!=()

template<typename T , typename A >
constexpr bool rtctk::componentFramework::operator!= ( const MatrixBuffer< T, A > &  lhs,
const MatrixBuffer< T, A > &  rhs 
)
constexprnoexcept

Compares two MatrixBuffer objects and returns true if they do not have the same shape or the elements are different.

◆ operator""_dppath()

DataPointPath rtctk::componentFramework::operator""_dppath ( const char *  str,
std::size_t  len 
)
inline

◆ operator+()

DataPointPath rtctk::componentFramework::operator+ ( DataPointPath  lhs,
const DataPointPath rhs 
)
inline
Exceptions
InvalidPathExceptionWhen invalid characters are found. Only a-z,0-9,_,/ are allowed, no duplicate slashes '/', and no triple underscores '_' or trailing underscores.
Parameters
lhsLeft hand side operand.
rhsRight hand side operand.

◆ operator/()

DataPointPath rtctk::componentFramework::operator/ ( DataPointPath  lhs,
const DataPointPath rhs 
)
inline
Note
: It is checked if current DataPointPath already ends with a separator (slash), or if one to be added (rhs) begins with a slash. In this cases no separator (/) is added in between. If detected that current DataPointPath ends with slash, and added one begins with a slash, one slash is removed.
Parameters
lhsLeft hand side operand.
rhsRight hand side operand.

◆ operator<() [1/4]

bool rtctk::componentFramework::operator< ( const DataPointPath lhs,
const char *  rhs 
)
inlinenoexcept

◆ operator<() [2/4]

bool rtctk::componentFramework::operator< ( const DataPointPath lhs,
const DataPointPath rhs 
)
inlinenoexcept

◆ operator<() [3/4]

bool rtctk::componentFramework::operator< ( const DataPointPath lhs,
const std::string &  rhs 
)
inlinenoexcept

◆ operator<() [4/4]

template<typename T , typename A >
constexpr bool rtctk::componentFramework::operator< ( const MatrixBuffer< T, A > &  lhs,
const MatrixBuffer< T, A > &  rhs 
)
constexprnoexcept

Compares two MatrixBuffer objects and returns true for the following cases:

  • If the lhs matrix has fewer elements.
  • If the number of elements is the same for lhs and rhs, but lhs has fewer rows.
  • If the shape of the matrices is the same and operator< returns true for the first element that is different between lhs and rhs. For any other case we return false.

◆ operator<<() [1/2]

std::ostream & rtctk::componentFramework::operator<< ( std::ostream &  os,
AlertServiceIf::AlertStatus const &  status 
)

◆ operator<<() [2/2]

std::ostream & rtctk::componentFramework::operator<< ( std::ostream &  out,
const DataPointPath rhs 
)
inline

◆ operator<=() [1/4]

bool rtctk::componentFramework::operator<= ( const DataPointPath lhs,
const char *  rhs 
)
inlinenoexcept

◆ operator<=() [2/4]

bool rtctk::componentFramework::operator<= ( const DataPointPath lhs,
const DataPointPath rhs 
)
inlinenoexcept

◆ operator<=() [3/4]

bool rtctk::componentFramework::operator<= ( const DataPointPath lhs,
const std::string &  rhs 
)
inlinenoexcept

◆ operator<=() [4/4]

template<typename T , typename A >
constexpr bool rtctk::componentFramework::operator<= ( const MatrixBuffer< T, A > &  lhs,
const MatrixBuffer< T, A > &  rhs 
)
constexprnoexcept

Compares two MatrixBuffer objects and effectively returns rhs < lhs or rhs == lhs.

◆ operator==() [1/4]

bool rtctk::componentFramework::operator== ( const DataPointPath lhs,
const char *  rhs 
)
inlinenoexcept

◆ operator==() [2/4]

bool rtctk::componentFramework::operator== ( const DataPointPath lhs,
const DataPointPath rhs 
)
inlinenoexcept

◆ operator==() [3/4]

bool rtctk::componentFramework::operator== ( const DataPointPath lhs,
const std::string &  rhs 
)
inlinenoexcept

◆ operator==() [4/4]

template<typename T , typename A >
constexpr bool rtctk::componentFramework::operator== ( const MatrixBuffer< T, A > &  lhs,
const MatrixBuffer< T, A > &  rhs 
)
constexprnoexcept

Compares two MatrixBuffer objects and returns true if they have the same shape and identical elements.

◆ operator>() [1/4]

bool rtctk::componentFramework::operator> ( const DataPointPath lhs,
const char *  rhs 
)
inlinenoexcept

◆ operator>() [2/4]

bool rtctk::componentFramework::operator> ( const DataPointPath lhs,
const DataPointPath rhs 
)
inlinenoexcept

◆ operator>() [3/4]

bool rtctk::componentFramework::operator> ( const DataPointPath lhs,
const std::string &  rhs 
)
inlinenoexcept

◆ operator>() [4/4]

template<typename T , typename A >
constexpr bool rtctk::componentFramework::operator> ( const MatrixBuffer< T, A > &  lhs,
const MatrixBuffer< T, A > &  rhs 
)
constexprnoexcept

Compares two MatrixBuffer objects and returns true for the following cases:

  • If the lhs matrix has more elements.
  • If the number of elements is the same for lhs and rhs, but lhs has more rows.
  • If the shape of the matrices is the same and operator> returns true for the first element that is different between lhs and rhs. For any other case we return false.

◆ operator>=() [1/4]

bool rtctk::componentFramework::operator>= ( const DataPointPath lhs,
const char *  rhs 
)
inlinenoexcept

◆ operator>=() [2/4]

bool rtctk::componentFramework::operator>= ( const DataPointPath lhs,
const DataPointPath rhs 
)
inlinenoexcept

◆ operator>=() [3/4]

bool rtctk::componentFramework::operator>= ( const DataPointPath lhs,
const std::string &  rhs 
)
inlinenoexcept

◆ operator>=() [4/4]

template<typename T , typename A >
constexpr bool rtctk::componentFramework::operator>= ( const MatrixBuffer< T, A > &  lhs,
const MatrixBuffer< T, A > &  rhs 
)
constexprnoexcept

Compares two MatrixBuffer objects and effectively returns rhs > lhs or rhs == lhs.

◆ operator>>()

std::istream & rtctk::componentFramework::operator>> ( std::istream &  input,
DataPointPath path 
)

◆ PrettyTypeName()

template<typename T >
std::string rtctk::componentFramework::PrettyTypeName ( )

◆ PYBIND11_EMBEDDED_MODULE() [1/2]

rtctk::componentFramework::PYBIND11_EMBEDDED_MODULE ( Import_Matrix_Buffer  ,
mod   
)

◆ PYBIND11_EMBEDDED_MODULE() [2/2]

rtctk::componentFramework::PYBIND11_EMBEDDED_MODULE ( Import_Vector_Buffer  ,
mod   
)

◆ ReadMatrixFromFits()

template<typename A >
void rtctk::componentFramework::ReadMatrixFromFits ( const std::string &  filename,
MatrixBuffer< bool, A > &  matrix 
)

Reads a matrix of boolean values from a FITS image with 8 bits per pixel.

◆ ReadVectorFromFits()

template<typename A >
void rtctk::componentFramework::ReadVectorFromFits ( const std::string &  filename,
std::vector< bool, A > &  vector 
)

Read a vector of boolean values from a FITS files containing a 1D image of 8 bit pixels.

◆ ReplaceAll()

std::string rtctk::componentFramework::ReplaceAll ( std::string  str,
const std::string &  from,
const std::string &  to 
)

◆ RetcodeToString()

std::string rtctk::componentFramework::RetcodeToString ( ReturnCode_t  retcode)

◆ to_json()

void rtctk::componentFramework::to_json ( JsonPayload j,
const std::vector< DataPointPath > &  v 
)
inline

◆ ToSpan()

template<typename T >
AsSpanT< T > rtctk::componentFramework::ToSpan ( T &  data)

Simple function that converts types that are convertible to spans to a span.

Parameters
datathe original data which will be pointed to by the span
Returns
span over the original data

◆ ValidAlternatingRamp()

template<typename InputIter , typename T >
constexpr bool rtctk::componentFramework::ValidAlternatingRamp ( InputIter  begin,
InputIter  end,
std::uint32_t  sample_id,
offset 
)
constexpr

Checks to see if the buffer contains an alternating ramp of values.

This method is used to validate that a buffer contains the test pattern generated by GenerateAlternatingRamp.

See also
GenerateAlternatingRamp for more details about the test pattern.
Parameters
[in]beginThe iterator pointing to the start of the buffer.
[in]endThe iterator pointing to one element past the end of the buffer.
[in]sample_idThe sample ID of the payload stored in the buffer.
[in]offsetThe expected value of the first element in the buffer.
Returns
true of the buffer contains the expected ramp pattern and false otherwise.

◆ ValidRamp()

template<typename InputIter , typename T , typename U >
constexpr bool rtctk::componentFramework::ValidRamp ( InputIter  begin,
InputIter  end,
offset,
slope 
)
constexpr

Checks to see if the buffer contains a ramp of values.

This method is used to validate that a buffer contains the test pattern generated by GenerateRamp.

See also
GenerateRamp for more details about the test pattern.
Parameters
[in]beginThe iterator pointing to the start of the buffer.
[in]endThe iterator pointing to one element past the end of the buffer.
[in]offsetThe expected value of the first element in the buffer.
[in]slopeThe slope of the line, also interpreted as the delta between elements.
Returns
true of the buffer contains the expected ramp pattern and false otherwise.

◆ WriteMatrixToFits()

template<typename A >
void rtctk::componentFramework::WriteMatrixToFits ( const std::string &  filename,
const MatrixBuffer< bool, A > &  matrix 
)

Writes a matrix of boolean values as a FITS image with 8 bits per pixel.

◆ WriteVectorToFits()

template<typename A >
void rtctk::componentFramework::WriteVectorToFits ( const std::string &  filename,
const std::vector< bool, A > &  vector 
)

Write a vector of boolean values to a FITS file as a 1D image of 8 bit pixels.

Variable Documentation

◆ HAS_MEMBER_SAMPLE_ID_UINT32T

template<typename T >
constexpr bool rtctk::componentFramework::HAS_MEMBER_SAMPLE_ID_UINT32T = HasSampleIdWithCorrectType<T>::value
inlineconstexpr

◆ is_base_of_template_v

template<template< typename... > class Base, typename Derived >
constexpr bool rtctk::componentFramework::is_base_of_template_v = is_base_of_template<Base, Derived>::value
inlineconstexpr

◆ IS_SPAN_CONVERTIBLE

template<typename T >
constexpr bool rtctk::componentFramework::IS_SPAN_CONVERTIBLE = IsSpanConvertible<T>::value
inlineconstexpr

Small helper alias for IsSpanConvertible.

◆ STD_OK_REPLY

const std::string rtctk::componentFramework::STD_OK_REPLY = "OK"
inline