PLCnext API Documentation  20.6.0.30321
Namespaces | Classes | Typedefs | Enumerations | Functions
Arp Namespace Reference

Root namespace for the PLCnext API More...

Namespaces

 Device
 Namespace for hardware abstraction classes
 
 Io
 Namespace for I/O subsystems
 
 Plc
 Namespace for classes related to the PLC functionality
 
 Services
 Namespace for service components
 
 System
 Namespace of system functions of PLCnext
 

Classes

class  AppDomain
 This class represents a single application domain for each process and is implemented as singleton. More...
 
class  AppDomainSingleton
 This class implements the singleton pattern for singletons with process wide scope. More...
 
class  ArpVersion
 This class provides the actual Arp version. More...
 
class  BasicFormatter
 
class  BasicString
 
class  BasicVersion
 This class represents the version of a special SDK or Arp build. More...
 
class  ByteConverter
 This pure static class provides operation sfor byte converting from little to big endian and vice versa. More...
 
class  CommonTypeName
 This (meta programming) class provides the typename according the CLS (common language specification) of the as template argument passed type. More...
 
class  CommonTypeName< void >
 This (meta programming) pure static class provides some factory operations to create CommonTypeName generically from variables or pointers. More...
 
class  DateTime
 The class contains date and time informations. More...
 
class  delegate< R(A...)>
 This class represents a delegate, that is a compound of an object reference and a member function pointer. The generic type of a delegate just depends on the signature of the (member) function pointer but not on the type of the object on which the member function pointer is invoked. More...
 
class  Enum
 Adapter class for enums to make them loggable and parsable from e.g. XML files. More...
 
class  Enumerator
 This class defines a base class for all enumerator implementations and some predefined enumerators as nested classes. More...
 
class  EnumStrings
 The class implements an adapter for enums to define the string literals of the enum entries. More...
 
class  event
 Use this class to register and invoke several delegates (function pointer in OOP design). More...
 
class  event< void >
 Use this class to register and invoke several delegates (function pointer in OOP design). More...
 
class  Exception
 This is the base class of all Arp exception classes. More...
 
class  IEnumerator
 Declares the interface of the enumerator pattern, which is leaned on .NET enumerator idiom. More...
 
struct  remove_shared_ptr
 Gets the value type of a shared_ptr. More...
 
struct  remove_shared_ptr< std::shared_ptr< T > >
 Gets the value type of a shared_ptr. More...
 
class  RuntimeTypeInfo
 The class implements some RTTI utility operations. More...
 
class  Singleton
 This class implements the singleton pattern. More...
 
class  slim_delegate
 
class  slim_delegate< R(A...)>
 
class  TypeName
 This (meta programming) class provides the C++ typename of the as template argument passed type. More...
 
class  TypeName< void >
 This (meta programming) pure static class provides some operations to retrieve typenames generically from variables or pointers. More...
 
struct  underlying_enum_type
 Determines the underlying type of an enum class. More...
 
struct  underlying_enum_type< T, true >
 Determines the underlying type of an enum class. More...
 

Typedefs

typedef bool boolean
 The Arp boolean type. More...
 
typedef unsigned char byte
 The Arp character type. More...
 
typedef signed char sbyte
 The Arp signed byte type. More...
 
typedef std::uint8_t uint8
 The Arp unsigned integer type of 1 byte size. More...
 
typedef std::int8_t int8
 The Arp integer type of 1 byte size. More...
 
typedef std::uint16_t uint16
 The Arp unsigned integer type of 2 byte size. More...
 
typedef std::int16_t int16
 The Arp integer type of 2 byte size. More...
 
typedef std::uint32_t uint32
 The Arp unsigned integer type of 4 byte size. More...
 
typedef std::int32_t int32
 The Arp integer type of 4 byte size. More...
 
typedef std::uint64_t uint64
 The Arp unsigned integer type of 8 byte size. More...
 
typedef std::int64_t int64
 The Arp integer type of 8 byte size. More...
 
typedef float float32
 The Arp floating point numbers type of 4 byte size. More...
 
typedef double float64
 The Arp floating point numbers type of 8 byte size. More...
 
typedef char char8
 The Arp character type of 1 byte size. More...
 
typedef uint16 char16
 The Arp character type of 2 byte size. More...
 
typedef Arp::BasicString< char8String
 The Arp String class. More...
 
typedef Arp::BasicVersion Version
 The Arp Version class. More...
 
typedef std::chrono::nanoseconds Nanoseconds
 The Arp Nanoseconds unit class. More...
 
typedef std::chrono::microseconds Microseconds
 The Arp Microseconds unit class. More...
 
typedef std::chrono::milliseconds Milliseconds
 The Arp Milliseconds unit class. More...
 
typedef std::chrono::seconds Seconds
 The Arp Seconds unit class. More...
 
typedef std::chrono::minutes Minutes
 The Arp Minutes unit class. More...
 
typedef std::chrono::hours Hours
 The Arp Hours unit class. More...
 
typedef uint32 uintx
 The Arp unsigned integer type matching CPU width. More...
 
typedef int32 intx
 The Arp integer type matching CPU width. More...
 
typedef uint32 intptr
 The Arp integer type matching pointer size. More...
 

Enumerations

enum  DateTimeKind { DateTimeKind::Unspecified = 0, DateTimeKind::Utc = 1 }
 Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified. More...
 
enum  Endianness { Endianness::None = 0, Endianness::BigEndian = 1, Endianness::LittleEndian = 2, Endianness::Current = LittleEndian }
 This enum defines the endinannes of the target architecture. More...
 

Functions

template<class CharType , class Alloc >
void swap (BasicString< CharType, Alloc > &left, BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
std::ostream & operator<< (std::ostream &os, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
std::istream & operator>> (std::istream &is, BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (const BasicString< CharType, Alloc > &left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (const CharType *left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (const CharType left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (const BasicString< CharType, Alloc > &left, const CharType *right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (const BasicString< CharType, Alloc > &left, const CharType right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (const BasicString< CharType, Alloc > &left, BasicString< CharType, Alloc > &&right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (BasicString< CharType, Alloc > &&left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (BasicString< CharType, Alloc > &&left, BasicString< CharType, Alloc > &&right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (const CharType *left, BasicString< CharType, Alloc > &&right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (const CharType left, BasicString< CharType, Alloc > &&right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (BasicString< CharType, Alloc > &&left, const CharType *right)
 
template<class CharType , class Alloc >
BasicString< CharType, Alloc > operator+ (BasicString< CharType, Alloc > &&left, const CharType right)
 
template<class CharType , class Alloc >
bool operator== (const BasicString< CharType, Alloc > &left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator== (const CharType *left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator== (const BasicString< CharType, Alloc > &left, const CharType *right)
 
template<class CharType , class Alloc >
bool operator!= (const BasicString< CharType, Alloc > &left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator!= (const CharType *left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator!= (const BasicString< CharType, Alloc > &left, const CharType *right)
 
template<class CharType , class Alloc >
bool operator< (const BasicString< CharType, Alloc > &left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator< (const CharType *left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator< (const BasicString< CharType, Alloc > &left, const CharType *right)
 
template<class CharType , class Alloc >
bool operator> (const BasicString< CharType, Alloc > &left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator> (const CharType *left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator> (const BasicString< CharType, Alloc > &left, const CharType *right)
 
template<class CharType , class Alloc >
bool operator<= (const BasicString< CharType, Alloc > &left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator<= (const CharType *left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator<= (const BasicString< CharType, Alloc > &left, const CharType *right)
 
template<class CharType , class Alloc >
bool operator>= (const BasicString< CharType, Alloc > &left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator>= (const CharType *left, const BasicString< CharType, Alloc > &right)
 
template<class CharType , class Alloc >
bool operator>= (const BasicString< CharType, Alloc > &left, const CharType *right)
 
template<class R , class ... A>
delegate< R(A...)> make_delegate (R(*const function_ptr)(A...)) noexcept
 Creates a delegate from a static function. More...
 
template<class C , class R , class ... A>
delegate< R(A...)> make_delegate (C *const pObject, R(C::*const pMethod)(A...)) noexcept
 Creates a delegate from a member function and object pointer. More...
 
template<class C , class R , class ... A>
delegate< R(A...)> make_delegate (C const *const pObject, R(C::*const pMethod)(A...) const) noexcept
 Creates a delegate from a member function and object pointer. More...
 
template<class C , class R , class ... A>
delegate< R(A...)> make_delegate (C &object, R(C::*const pMethod)(A...)) noexcept
 Creates a delegate from a const member function and const object reference. More...
 
template<class C , class R , class ... A>
delegate< R(A...)> make_delegate (const C &object, R(C::*const pMethod)(A...) const) noexcept
 Creates a delegate from a const member function and const object reference. More...
 
template<class R , class ... A>
delegate< R(A...)> make_delegate (std::function< R(A...)> &&f) noexcept
 Creates a delegate from a lambda expression or std::function. More...
 
template<class R , class ... A>
delegate< R(A...)> make_delegate (const std::function< R(A...)> &f) noexcept
 Creates a delegate from a lambda expression or std::function. More...
 
template<class T >
Enum< T > make_enum (T value)
 Global make function to adapt any enum class by class Enum. More...
 
template<class T >
std::ostream & operator<< (std::ostream &os, Enum< T > value)
 Makes the Enum class loggable and streamable. More...
 
template<class T >
bool operator== (Enum< T > lhs, Enum< T > rhs)
 Equality operator for class Enum. More...
 
template<class T >
bool operator< (Enum< T > lhs, Enum< T > rhs)
 Less operator for class Enum. More...
 
template<class T >
Enum< T > operator & (Enum< T > lhs, Enum< T > rhs)
 Bitwise And operator for class Enum. More...
 
template<class T >
Enum< T > operator| (Enum< T > lhs, Enum< T > rhs)
 Bitwise Or operator for class Enum. More...
 
template<class T >
ARP_CXX_SYMBOL_EXPORT const char * GetEnumString (T key)
 This helper function returns the string of the specified enum entry. More...
 
template<class T >
ARP_CXX_SYMBOL_EXPORT bool TryGetEnumValue (const char *name, T &value)
 This helper function tries to return the enum entry of the specified string. More...
 
std::ostream & operator<< (std::ostream &os, const Exception &e)
 Makes the Exception class loggable and streamable. More...
 
template<class T , class TInstance >
bool IsInstanceOfType (const TInstance &instance)
 Tests if the type of the as argument passed instance is T or derived by T . More...
 
template<class T , class TInstance >
bool IsInstanceOfType (const TInstance *pInstance)
 Tests if the type of the as argument passed instance is T or derived by T . More...
 
template<class T , class TInstance >
bool IsInstanceOfType (TInstance &instance)
 Tests if the type of the as argument passed instance is T or derived by T . More...
 
template<class T , class TInstance >
bool IsInstanceOfType (TInstance *pInstance)
 Tests if the type of the as argument passed instance is T or derived by T . More...
 
template<class T >
std::ostream & operator<< (std::ostream &os, const TypeName< T > &typeName)
 Makes the TypeName class loggable and streamable. More...
 

Detailed Description

Root namespace for the PLCnext API

Enumeration Type Documentation

◆ Endianness

enum Arp::Endianness
strong

This enum defines the endinannes of the target architecture.

Enumerator
None 

Not specified.

BigEndian 

Determines big endian.

LittleEndian 

Determines little endian.

Current 

Determines the current endianness.

Function Documentation

◆ GetEnumString()

template<class T >
ARP_CXX_SYMBOL_EXPORT const char* Arp::GetEnumString ( key)

This helper function returns the string of the specified enum entry.

Template Parameters
TThe type of the enum.
Parameters
keyThe enum entry of enmum T to get the associated string from.
Returns
The string literal of the as argument passed enum entry.

◆ operator<<() [1/2]

std::ostream& Arp::operator<< ( std::ostream &  os,
const Exception e 
)
inline

Makes the Exception class loggable and streamable.

Parameters
osThe stream to write the exception to.
eThe exception to write.
Returns
The as argument passed stream.

◆ operator<<() [2/2]

template<class T >
std::ostream& Arp::operator<< ( std::ostream &  os,
const TypeName< T > &  typeName 
)
inline

Makes the TypeName class loggable and streamable.

Parameters
osThe stream to write the typename to.
typeNameThe typeName to write.
Returns
The as argument passed stream.

◆ TryGetEnumValue()

template<class T >
ARP_CXX_SYMBOL_EXPORT bool Arp::TryGetEnumValue ( const char *  name,
T &  value 
)

This helper function tries to return the enum entry of the specified string.

Template Parameters
TThe type of the enum.
Parameters
nameThe string to get the associated enum entry of enum T from.
valueThe enum entry of enum T associated to the argument passed name .
Returns
true on success, otherwise false.