RTC Toolkit  1.0.0
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
rtctk::componentFramework Namespace Reference

Namespaces

 detail
 
 test
 

Classes

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  DataPointPath
 This class provides a wraper for DataPoint paths which ensures that they only contain valid characters. 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...
 
class  DdsSub
 All functionallty needed to create DDS entities for DDS data subscribing is concentrated in this class. More...
 
struct  DdsTopicReaderListener
 Structure that keeps together topic name and DDS Data Writer listener. More...
 
struct  DdsTopicWriterListener
 Structure that keeps together topic name and DDS Data Writer listener. More...
 
class  DdsWriterListener
 Listener class for differetn DDS events. More...
 
class  DebugExport
 
class  DirCreationError
 
struct  empty_base
 
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
 
class  FuncCmdsImpl
 Class that handles reception of commands Run, Idle and Recover using MAL. More...
 
class  IDisabling
 
class  IEnabling
 
class  IInitialising
 
class  InvalidArgumentException
 
class  InvalidUriInFileError
 
struct  is_base_of_template_impl
 
struct  is_present
 
class  IStarting
 
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  MatrixBuffer
 
class  MatrixSpan
 A span class that simply extends gsl::span to record the number of rows and columns of a matrix and checks that this correctly corresponds to the underlying buffer size in debug builds. More...
 
class  MeasCmdsImpl
 Class that handles reception of command Measure using MAL. More...
 
struct  Measurable
 Life cycle extension to make RtcComponent Measurable. More...
 
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  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
 
class  OptCmdsImpl
 Class that handles reception of command Optimise using MAL. More...
 
struct  Optimisable
 Life cycle extension to make RtcComponent Optimisable. More...
 
class  PathMissingException
 
class  PersistentRepoAdapter
 Implements the Persistent Configuration Repository adapter that uses the CII configuration service as the backend. More...
 
class  PersistentRepoIf
 
class  PlantUmlExport
 
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
 
class  RequestFailed
 
class  RequestRejected
 
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
 
class  RuntimeRepoIf
 
class  ScXmlExport
 
class  ServiceContainer
 Container class that holds services of any type. More...
 
class  ServiceDiscovery
 Class that implements a very basic service discovery mechanism. More...
 
class  SmCatExport
 
struct  State
 
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  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...
 
struct  Transition
 
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 JsonPayload = nlohmann::json
 Type requirements: More...
 
using Payload = std::string
 
using RtcComponentSuper = StdComponent< UseStarting< Enabled >, UseInitialising< Enabled >, UseEnabling< Enabled >, UseDisabling< Enabled > >
 
using Args = detail::Args
 
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 &)>
 
using StopSource = rad::StopSource
 
using StopToken = rad::StopToken
 
using Enabled = std::true_type
 
using Disabled = std::false_type
 
template<template< typename... > class Base, typename Derived >
using is_base_of_template = typename is_base_of_template_impl< Base, Derived >::type
 
template<class T , bool Condition>
using optional_base = std::conditional_t< Condition, T, empty_base< T > >
 
using TypedDataWriter = eprosima::fastdds::dds::DataWriter
 
using TypedDataReader = eprosima::fastdds::dds::DataReader
 
using StringList = RepositoryIf::StringList
 
using Request = RepositoryIf::Request
 
using Response = RepositoryIf::Response
 

Enumerations

enum  StateType {
  Machine, Simple, Parallel, Composite,
  Initial, Final
}
 

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. More...
 
template<class BL , class BLF >
void RunAsRtcComponent (Args const &args, BLF factory)
 RTC Component runner function, needed to run custom BusinessLogic as RTC Component. More...
 
template<class BL >
void RunAsRtcComponent (Args const &args)
 RTC Component runner function, needed to run custom BusinessLogic as RTC Component. More...
 
int Main (int argc, char *argv[])
 Main function implementation. More...
 
template<typename EVENT >
std::shared_ptr< typename EVENT::payload_t > GetPayloadNothrow (scxml4cpp::Context *c)
 
 RTCTK_DEFINE_OPTION (UseStarting, Disabled)
 
 RTCTK_DEFINE_OPTION (UseInitialising, Enabled)
 
 RTCTK_DEFINE_OPTION (UseEnabling, Disabled)
 
 RTCTK_DEFINE_OPTION (UseDisabling, Disabled)
 
std::istream & operator>> (std::istream &input, DataPointPath &path)
 
void PrintNestedExceptions (std::ostream &os, std::exception const &exception)
 Print nested exception(s) in exception messages to os. More...
 
void PrintNestedExceptions (std::ostream &os, std::exception_ptr ptr)
 Print nested exception(s) in exception messages to os. More...
 
std::string GetCfitsioErrorMsg (int status)
 Helper function to convert a Cfitsio status code to a human readable message. More...
 
std::string CfitsioImageTypeToString (int bitpix)
 Returns a string representation of a Cfitsio image type code. More...
 
std::string CfitsioDataTypeToString (int datatype)
 Returns a string representation of a Cfitsio data type code. More...
 
template<typename T , typename A >
void WriteMatrixToFits (const std::string &filename, const MatrixBuffer< T, A > &matrix)
 Writes MatrixBuffer data representing a matrix as an image to a FITS file. More...
 
template<typename T , typename A >
void ReadMatrixFromFits (const std::string &filename, MatrixBuffer< T, A > &matrix)
 Reads a FITS file image into a MatrixBuffer object representing a matrix. More...
 
template<typename T , typename A >
void WriteVectorToFits (const std::string &filename, const std::vector< T, A > &vector)
 Writes std::vector data as a 1D image to a FITS file. More...
 
template<typename T , typename A >
void ReadVectorFromFits (const std::string &filename, std::vector< T, A > &vector)
 Reads a FITS file containing a 1D image into a std::vector object. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 std::string &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)
 
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. More...
 
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. More...
 
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. More...
 
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: More...
 
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. More...
 
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: More...
 
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. More...
 
template<typename T >
bool GetOptionalParam (RepositoryIf &repo, const DataPointPath &path, T &value)
 Get optional datapoint. More...
 
std::optional< numapp::NumaPolicies > GetNumaPolicies (RepositoryIf &repo, const DataPointPath &path)
 Constructs a NumaPolicies object from the configuration datapoints found under the given datapoint path. More...
 
std::string RetcodeToString (ReturnCode_t retcode)
 
const char * GetTopicName (DataWriter *writer)
 
const char * GetTopicName (DataReader *reader)
 
void LogConfigure (const std::string &cfg_file_name="")
 Initial logging system configuration. More...
 
void MakeLogger (const std::string &name, log4cplus::LogLevel ll, bool log_to_file=true, bool additive=false)
 Retrieve new logger programmatically. More...
 
void SetDefaultLogger (const std::string &name)
 Set the default logger. More...
 
log4cplus::Logger & GetLogger (const std::string &name="")
 Get handle to a specific logger (used with logging macros) More...
 
void ConfigureLogger (log4cplus::Logger &logger, log4cplus::LogLevel ll, bool log_to_file, bool additive)
 
void LogConfigure (const string &cfg_file_name)
 
log4cplus::Logger & GetLogger (const string &logger_name)
 
void MakeLogger (const string &name, log4cplus::LogLevel ll, bool log_to_file, bool additive)
 
py::module EXPORT_TYPE LoadMatrixBufferPyBinds ()
 
py::module EXPORT_TYPE LoadVectorBufferPyBinds ()
 
 PYBIND11_EMBEDDED_MODULE (Import_Matrix_Buffer, m)
 
 PYBIND11_EMBEDDED_MODULE (Import_Vector_Buffer, m)
 

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 What , typename... Args>
constexpr bool is_present_v = is_present<What, Args...>::value
 
const std::string DEFAULT_PATTERN = "[%D{%H:%M:%S:%q}][%-5p][%c] %m%n"
 
std::string default_logger = "root"
 

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)>

◆ Args

◆ Disabled

using rtctk::componentFramework::Disabled = typedef std::false_type

◆ Enabled

using rtctk::componentFramework::Enabled = typedef std::true_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)>

◆ 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

◆ optional_base

template<class T , bool Condition>
using rtctk::componentFramework::optional_base = typedef std::conditional_t<Condition, T, empty_base<T> >

◆ Payload

using rtctk::componentFramework::Payload = typedef std::string

◆ RejectMethod

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

◆ Request

◆ Response

◆ RtcComponentSuper

using rtctk::componentFramework::RtcComponentSuper = typedef StdComponent<UseStarting<Enabled>, UseInitialising<Enabled>, UseEnabling<Enabled>, UseDisabling<Enabled> >

◆ 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

◆ StringList

◆ SuccessMethod

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

◆ TypedDataReader

using rtctk::componentFramework::TypedDataReader = typedef eprosima::fastdds::dds::DataReader

◆ TypedDataWriter

using rtctk::componentFramework::TypedDataWriter = typedef eprosima::fastdds::dds::DataWriter

Enumeration Type Documentation

◆ StateType

Enumerator
Machine 
Simple 
Parallel 
Composite 
Initial 
Final 

Function Documentation

◆ CfitsioDataTypeToString()

std::string rtctk::componentFramework::CfitsioDataTypeToString ( int  datatype)

Returns a string representation of a Cfitsio data type code.

Parameters
[in]datatypeThe Cfitsio data type code that may be used with fits_read_pix or fits_write_pix.
Returns
Cfitsio data type as a string or "Unknown type" if the type code is not recognised.

◆ CfitsioImageTypeToString()

std::string rtctk::componentFramework::CfitsioImageTypeToString ( int  bitpix)

Returns a string representation of a Cfitsio image type code.

Parameters
[in]bitpixThe Cfitsio image type code that may be used with fits_create_img or returned by fits_get_img_equivtype.
Returns
Cfitsio image type as a string or "Unknown type" if the type code is not recognised.

◆ ConfigureLogger()

void rtctk::componentFramework::ConfigureLogger ( log4cplus::Logger &  logger,
log4cplus::LogLevel  ll,
bool  log_to_file,
bool  additive 
)

DOR, use the warning suppression macros to supress warning about use of auto_ptr

DOR, use the warning suppression macros to supress warning about use of auto_ptr

◆ 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

◆ GetCfitsioErrorMsg()

std::string rtctk::componentFramework::GetCfitsioErrorMsg ( int  status)

Helper function to convert a Cfitsio status code to a human readable message.

Parameters
[in]statusThe status code set by a Cfitsio routine.
Returns
An error message corresponding to the Cfitsio status code.

◆ GetLogger() [1/2]

log4cplus::Logger& rtctk::componentFramework::GetLogger ( const std::string &  name = "")

Get handle to a specific logger (used with logging macros)

The default logger will be retrieved when calling GetLogger() without any further arguments

Parameters
nameoptional: name of the requested logger
Returns
handle to the requested logger

◆ GetLogger() [2/2]

log4cplus::Logger& rtctk::componentFramework::GetLogger ( const string &  logger_name)

◆ GetNumaPolicies()

std::optional< numapp::NumaPolicies > rtctk::componentFramework::GetNumaPolicies ( RepositoryIf repo,
const DataPointPath path 
)

Constructs a NumaPolicies object from the configuration datapoints found under the given datapoint path.

Parameters
repoRepository to read from.
pathThe base path under which configuration datapoints for NUMA policies will be searched. The following sub-paths will be searched:
  • cpu_affinity
  • scheduler_policy
  • scheduler_priority
  • memory_policy_mode
  • memory_policy_nodes
Returns
The loaded NUMA policies or std::nullopt if no policies were provided.

Valid values for the scheduler_policy datapoint are:

  • Fifo
  • Rr
  • Other
  • Batch

If either Fifo or Rr are used then the scheduler_priority must be used to set the threads priority. Valid values for scheduler_priority is different depending on scheduler_policy:

  • Fifo and Rr: 1-99
  • Other and Batch: -20 - 19 with 0 being the default. This is also known as the "nice" value.

Valid values for the memory_policy_mode datapoint are:

  • Default
  • Bind
  • Interleave
  • Preferred
Note
Setting only scheduler_priority without scheduler_policy has no effect. scheduler_policy must always be used if scheduler_priority is set in the configuration.
The datapoints for memory_policy_mode and memory_policy_nodes must be provided together.

◆ GetOptionalParam()

template<typename T >
bool rtctk::componentFramework::GetOptionalParam ( RepositoryIf repo,
const DataPointPath path,
T &  value 
)

Get optional datapoint.

Template Parameters
TData point type.
Parameters
repoRepository to read from.
pathData point to read.
[out]valueDestination variable for read datapoint. Will not be modified if datapoint does not exist.
Return values
trueif the datapoint exists and value has been set.
falseotherwise.

◆ GetPayloadNothrow()

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

◆ 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 
)

◆ LoadMatrixBufferPyBinds()

py::module EXPORT_TYPE rtctk::componentFramework::LoadMatrixBufferPyBinds ( )

◆ LoadVectorBufferPyBinds()

py::module EXPORT_TYPE rtctk::componentFramework::LoadVectorBufferPyBinds ( )

◆ LogConfigure() [1/2]

void rtctk::componentFramework::LogConfigure ( const std::string &  cfg_file_name = "")

Initial logging system configuration.

If no log properties file is given, the system will be configured programmatically using the RTC Tk default settings.

Parameters
cfg_file_nameoptional pathname of log4cplus .properties file

◆ LogConfigure() [2/2]

void rtctk::componentFramework::LogConfigure ( const string &  cfg_file_name)

◆ 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.

◆ MakeLogger() [1/2]

void rtctk::componentFramework::MakeLogger ( const std::string &  name,
log4cplus::LogLevel  ll,
bool  log_to_file = true,
bool  additive = false 
)

Retrieve new logger programmatically.

Parameters
namename of the new logger
llinitial log level (can be changed later)
log_to_fileoptional: should a log-file be created in the logsink directory
additiveoptional: enable additivity for logger

◆ MakeLogger() [2/2]

void rtctk::componentFramework::MakeLogger ( const string &  name,
log4cplus::LogLevel  ll,
bool  log_to_file,
bool  additive 
)

◆ 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
Parameters
lhsleft hand side operand
rhsright hand side operand

◆ operator/()

DataPointPath rtctk::componentFramework::operator/ ( DataPointPath  lhs,
const DataPointPath rhs 
)
inline
Parameters
lhsleft hand side operand
rhsright hand side operand

◆ 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 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<<()

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

◆ 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 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>()

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>=()

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 
)

◆ PrintNestedExceptions() [1/2]

void rtctk::componentFramework::PrintNestedExceptions ( std::ostream &  os,
std::exception const &  exception 
)

Print nested exception(s) in exception messages to os.

It uses a simple form where first line is indented and prefixed as:

exception: Message
  exception: Nested message
    exception: Even more nested
Parameters
osoutput stream to print to.
exceptionexception (possibly nested) to print.

◆ PrintNestedExceptions() [2/2]

void rtctk::componentFramework::PrintNestedExceptions ( std::ostream &  os,
std::exception_ptr  ptr 
)

Print nested exception(s) in exception messages to os.

If ptr does not hold an exception this function has no effect.

Parameters
osoutput stream to print to.
ptrexception (possibly nested) to print.

◆ PYBIND11_EMBEDDED_MODULE() [1/2]

rtctk::componentFramework::PYBIND11_EMBEDDED_MODULE ( Import_Matrix_Buffer  ,
 
)

◆ PYBIND11_EMBEDDED_MODULE() [2/2]

rtctk::componentFramework::PYBIND11_EMBEDDED_MODULE ( Import_Vector_Buffer  ,
 
)

◆ ReadMatrixFromFits() [1/2]

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.

◆ ReadMatrixFromFits() [2/2]

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

Reads a FITS file image into a MatrixBuffer object representing a matrix.

Parameters
[in]filenameName of the FITS file to read from.
[out]matrixThe matrix data object that will be updated with the loaded data.

◆ ReadVectorFromFits() [1/2]

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.

◆ ReadVectorFromFits() [2/2]

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

Reads a FITS file containing a 1D image into a std::vector object.

Parameters
[in]filenameName of the FITS file to read from.
[out]vectorThe vector data object that will be updated with the loaded data.

◆ RetcodeToString()

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

◆ RTCTK_DEFINE_OPTION() [1/4]

rtctk::componentFramework::RTCTK_DEFINE_OPTION ( UseDisabling  ,
Disabled   
)

◆ RTCTK_DEFINE_OPTION() [2/4]

rtctk::componentFramework::RTCTK_DEFINE_OPTION ( UseEnabling  ,
Disabled   
)

◆ RTCTK_DEFINE_OPTION() [3/4]

rtctk::componentFramework::RTCTK_DEFINE_OPTION ( UseInitialising  ,
Enabled   
)

◆ RTCTK_DEFINE_OPTION() [4/4]

rtctk::componentFramework::RTCTK_DEFINE_OPTION ( UseStarting  ,
Disabled   
)

◆ SetDefaultLogger()

void rtctk::componentFramework::SetDefaultLogger ( const std::string &  name)

Set the default logger.

The default logger will be retrieved when calling GetLogger() without any further arguments

Parameters
namename of the default logger

◆ WrapWithNested()

template<class E >
auto rtctk::componentFramework::WrapWithNested ( E &&  exception)
noexcept

Constructs an unspecified exception that derives from both the provided object and std::nested_exception.

Warning
Although it is akin to a non-throwing version of std::throw_with_nested, if WrapWithNested is invoked without a current exception it shall not be used with std::rethrow_if_nested as it terminates the application if there's no nested exception.

If there is a current exception (std::current_exception() == true) the nested exception will be stored with the returned exception type.

Template Parameters
Eexception type used to deduce the exception type to construct using std::decay<E>.
Parameters
exceptionException used to copy or move-construct the unspecified exception.
Exceptions
Exceptionsthrown by exception copy/move constructor.

◆ WriteMatrixToFits() [1/2]

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.

◆ WriteMatrixToFits() [2/2]

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

Writes MatrixBuffer data representing a matrix as an image to a FITS file.

Parameters
[in]filenameName of the FITS file to create. It will be overwritten if it exists.
[in]matrixThe matrix data to write.

◆ WriteVectorToFits() [1/2]

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.

◆ WriteVectorToFits() [2/2]

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

Writes std::vector data as a 1D image to a FITS file.

Parameters
[in]filenameName of the FITS file to create. It will be overwritten if it exists.
[in]vectorThe vector data to write.

Variable Documentation

◆ default_logger

std::string rtctk::componentFramework::default_logger = "root"

◆ DEFAULT_PATTERN

const std::string rtctk::componentFramework::DEFAULT_PATTERN = "[%D{%H:%M:%S:%q}][%-5p][%c] %m%n"

◆ 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_present_v

template<typename What , typename... Args>
constexpr bool rtctk::componentFramework::is_present_v = is_present<What, Args...>::value
inlineconstexpr

◆ STD_OK_REPLY

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