Namespaces | Classes | Typedefs | Enumerations | Functions
ecl Namespace Reference

Embedded control libraries. More...

Namespaces

 concepts
 

Classes

class  BinaryFunction
 Virtual interface definition for binary function objects. More...
 
class  BluePrint
 This is a parent template for blueprints using crtp. More...
 
class  BluePrintConcept
 
class  BluePrintFactory
 Primary template for blueprint factories. More...
 
class  Bool
 
class  BoundNullaryMemberFunction
 Nullary function object for bound nullary member functions. More...
 
class  BoundNullaryMemberFunction< C, void >
 Specialisation of the bound nullary member function for void functions. More...
 
class  BoundUnaryFreeFunction
 Nullary function object for bound unary global/static functions. More...
 
class  BoundUnaryFreeFunction< A, void >
 Specialisation for bound void unary functions. More...
 
class  BoundUnaryMemberFunction
 Nullary function object for bound unary member functions. More...
 
class  ByteContainerConcept
 
class  ContainerConcept
 
class  DynamicContainerConcept
 
struct  ecl_traits
 
struct  enable_if
 
struct  enable_if_c
 
struct  enable_if_c< false, T >
 
class  FailedObject
 
class  Flags
 Convenience class for organising boolean flags. More...
 
struct  if_c
 
struct  if_c< false, T1, T2 >
 
class  InputByteDeviceConcept
 
class  InputCharDeviceConcept
 
class  InputOutputByteDeviceConcept
 
class  InputOutputCharDeviceConcept
 
class  is_byte
 
class  is_byte< char >
 
class  is_byte< signed char >
 
class  is_byte< unsigned char >
 
class  is_float
 
class  is_float< double >
 
class  is_float< float >
 
class  is_float< long double >
 
class  is_integral
 
class  is_integral< char >
 
class  is_integral< int >
 
class  is_integral< long >
 
class  is_integral< long long >
 
class  is_integral< short >
 
class  is_integral< unsigned char >
 
class  is_integral< unsigned int >
 
class  is_integral< unsigned long >
 
class  is_integral< unsigned long long >
 
class  is_integral< unsigned short >
 
class  is_reference_wrapper
 Default action for detection of the reference wrapper type trait (false). More...
 
class  is_reference_wrapper< ReferenceWrapper< T > >
 Configures the reference wrapper type trait for the ReferenceWrapper specialisation to true. More...
 
class  is_signed
 
class  is_signed< char >
 
class  is_signed< int >
 
class  is_signed< long >
 
class  is_signed< long long >
 
class  is_signed< short >
 
class  is_signed_byte
 
class  is_signed_byte< char >
 
class  is_signed_byte< signed char >
 
class  is_unsigned
 
class  is_unsigned< unsigned char >
 
class  is_unsigned< unsigned int >
 
class  is_unsigned< unsigned long >
 
class  is_unsigned< unsigned long long >
 
class  is_unsigned< unsigned short >
 
class  is_unsigned_byte
 
class  is_unsigned_byte< char >
 
class  is_unsigned_byte< unsigned char >
 
class  NullaryFreeFunction
 Nullary function object for void global/static functions. More...
 
class  NullaryFreeFunction< void >
 Specialisation for free nullary functions that return void. More...
 
class  NullaryFunction
 Virtual interface definition for nullary function objects. More...
 
class  NullaryFunctionConcept
 
class  NullaryFunctionCopy
 Create a NullaryFunction object composited from an existing function object. More...
 
class  NullaryFunctionCopy< FunctionObject, void >
 Specialisation of NullaryFunctionCopy for void return types. More...
 
class  NullaryFunctionReference
 Creates a nullary function from a reference wrapper. More...
 
class  NullaryFunctionReference< FunctionObject, void >
 Creates a void nullary function from a reference wrapper. More...
 
class  NullaryMemberFunction
 Unary function object for member functions without arguments. More...
 
class  NullaryMemberFunction< C, void >
 Specialisation of the unary function object for void member functions without arguments. More...
 
class  numeric_limits
 
class  numeric_limits< char >
 
class  numeric_limits< double >
 
class  numeric_limits< float >
 
class  numeric_limits< int >
 
class  numeric_limits< long >
 
class  numeric_limits< long double >
 
class  numeric_limits< long long >
 
class  numeric_limits< short >
 
class  numeric_limits< unsigned char >
 
class  numeric_limits< unsigned int >
 
class  numeric_limits< unsigned long >
 
class  numeric_limits< unsigned long long >
 
class  numeric_limits< unsigned short >
 
class  OutputByteDeviceConcept
 
class  OutputCharDeviceConcept
 
class  Parameter
 General parameter type for member variables of a pre-specified class. More...
 
class  PartiallyBoundBinaryMemberFunction
 Binary function object for partially bound binary member functions. More...
 
class  PartiallyBoundUnaryMemberFunction
 Unary function object for partially bound unary member functions. More...
 
class  ReferenceWrapper
 Provides a wrapper which allows the original object to be passed like a reference. More...
 
class  SignedByteContainerConcept
 
class  Singleton
 Singleton construction via the curiously recurring template pattern. More...
 
class  StreamConcept
 
class  UnaryFreeFunction
 Unary function object for global/static functions. More...
 
class  UnaryFreeFunction< A, void >
 Specialisations for free unary functions with no return type. More...
 
class  UnaryFunction
 Virtual interface definition for unary function objects. More...
 
class  UnaryFunctionCopy
 Create a UnaryFunction object composited from an existing function object. More...
 
class  UnaryFunctionCopy< FunctionObject, T, void >
 Specialisation of UnaryFunctionCopy for void return types. More...
 
class  UnaryFunctionReference
 Creates a unary function from a reference wrapper. More...
 
class  UnaryFunctionReference< ReferenceWrapper, T, void >
 Creates a void unary function from a reference wrapper. More...
 
class  UnaryMemberFunction
 Binary function object for unary member functions. More...
 
class  UnaryMemberFunction< C, A, void >
 Specialisation of the binary function object for void unary member functions. More...
 
struct  Unsigned
 
struct  Unsigned< char >
 
struct  Unsigned< int >
 
struct  Unsigned< long >
 
struct  Unsigned< long long >
 
struct  Unsigned< short >
 
struct  Unsigned< unsigned char >
 
struct  Unsigned< unsigned int >
 
struct  Unsigned< unsigned long >
 
struct  Unsigned< unsigned long long >
 
struct  Unsigned< unsigned short >
 
class  UnsignedByteContainerConcept
 
class  Void
 A void (null) object. More...
 

Typedefs

typedef Bool< false > False
 
typedef Bool< true > True
 
typedef void(* VoidFunction) ()
 Convenient type definition for empty functions (void pointers). More...
 

Enumerations

enum  Bits {
  Bit0 = 0x0000, Bit1 = 0x0001, Bit2 = 0x0002, Bit3 = 0x0004,
  Bit4 = 0x0008, Bit5 = 0x0010, Bit6 = 0x0020, Bit7 = 0x0040,
  Bit8 = 0x0080, Bit9 = 0x0100, Bit10 = 0x0200, Bit11 = 0x0400,
  Bit12 = 0x0800, Bit13 = 0x1000, Bit14 = 0x2000, Bit15 = 0x4000,
  Bit16 = 0x8000
}
 

Functions

template<typename T >
T * addressOf (T &v)
 Returns the address of an object (uses correct c++ syntactics). More...
 
template<typename T >
ReferenceWrapper< T const > cref (T const &wrapped_object)
 
template<typename R >
NullaryFreeFunction< R > generateFunctionObject (R(*function)())
 Generate a nullary function object from a void global/static function. More...
 
template<typename A , typename R >
UnaryFreeFunction< A, R > generateFunctionObject (R(*function)(A))
 Generate a unary function object from a unary global/static function. More...
 
template<typename A , typename R , typename I >
BoundUnaryFreeFunction< A, R > generateFunctionObject (R(*function)(A), const I &a)
 Generate a nullary function object from a bound unary global/static function. More...
 
template<typename A , typename R , typename I >
BoundUnaryFreeFunction< A, R > generateFunctionObject (R(*function)(A), I &a)
 Generate a nullary function object from a bound unary global/static function. More...
 
template<typename C , typename R >
NullaryMemberFunction< C, R > generateFunctionObject (R(C::*function)())
 Generate a unary function object from a nullary member function. More...
 
template<typename C , typename R >
BoundNullaryMemberFunction< C, R > generateFunctionObject (R(C::*function)(), C &c)
 Generate a nullary function object by binding a nullary member function with its instance. More...
 
template<typename C , typename A , typename R >
UnaryMemberFunction< C, A, R > generateFunctionObject (R(C::*function)(A))
 Generate a binary function object from a unary member function. More...
 
template<typename C , typename A , typename R >
PartiallyBoundUnaryMemberFunction< C, A, R > generateFunctionObject (R(C::*function)(A), C &c)
 Generate a unary function object by partially binding a unary member function. More...
 
template<typename C , typename A , typename R , typename I >
BoundUnaryMemberFunction< C, A, R > generateFunctionObject (R(C::*function)(A), C &c, const I &a)
 Generate a nullary function object by binding a unary member function. More...
 
template<typename C , typename A , typename R , typename I >
BoundUnaryMemberFunction< C, A, R > generateFunctionObject (R(C::*function)(A), C &c, I &a)
 Generate a nullary function object by binding a unary member function. More...
 
bool is_big_endian ()
 
bool is_char_signed ()
 
template<typename OutputStream >
OutputStream & operator<< (OutputStream &ostream, const Void void_object)
 Output stream operator for Void objects. More...
 
template<typename T >
ReferenceWrapper< T > ref (T &wrapped_object)
 

Detailed Description

Embedded control libraries.

Various core libraries useful for embedded control systems.

Typedef Documentation

◆ VoidFunction

typedef void(* ecl::VoidFunction) ()

Convenient type definition for empty functions (void pointers).

Convenient type definition for empty functions (void pointers). Wherever you would normally use

void(*)()

you can instead replace with the more convenient

VoidFunction

Definition at line 48 of file void.hpp.

Enumeration Type Documentation

◆ Bits

enum ecl::Bits
Enumerator
Bit0 
Bit1 
Bit2 
Bit3 
Bit4 
Bit5 
Bit6 
Bit7 
Bit8 
Bit9 
Bit10 
Bit11 
Bit12 
Bit13 
Bit14 
Bit15 
Bit16 

Definition at line 34 of file flags.hpp.

Function Documentation

◆ addressOf()

template<typename T >
T* ecl::addressOf ( T &  v)

Returns the address of an object (uses correct c++ syntactics).

Parameters
v: the object located at this address.
Returns
T* : a pointer to the object.
Template Parameters
T: the type of the object.

Definition at line 45 of file references.hpp.

◆ cref()

template<typename T >
ReferenceWrapper<T const> ecl::cref ( T const &  wrapped_object)

This is a simple means of instantiating a const reference wrapper.

This is a simple means of instantiating a const reference wrapper.

Parameters
wrapped_object: the object to be referenced.
Returns
const ReferenceWrapper<T> : the wrapper.

Definition at line 163 of file references.hpp.

◆ generateFunctionObject() [1/10]

template<typename R >
NullaryFreeFunction<R> ecl::generateFunctionObject ( R(*)()  function)

Generate a nullary function object from a void global/static function.

Overloaded function type, this particular overload generates a nullary function object from a void global/static function.

Template Parameters
R: the return type.
Parameters
function: the void global/static function.
Returns
NullaryFreeFunction<R> : nullary function object.
See also
FunctionObjects.

Definition at line 1186 of file function_objects.hpp.

◆ generateFunctionObject() [2/10]

template<typename A , typename R >
UnaryFreeFunction<A,R> ecl::generateFunctionObject ( R(*)(A)  function)

Generate a unary function object from a unary global/static function.

Overloaded function type, this particular overload generates a unary function object from a unary global/static function.

Template Parameters
A: the function's argument type.
R: the function's return type.
Parameters
function: the unary global/static function.
Returns
UnaryFreeFunction<R> : unary function object.
See also
FunctionObjects.

Definition at line 1204 of file function_objects.hpp.

◆ generateFunctionObject() [3/10]

template<typename A , typename R , typename I >
BoundUnaryFreeFunction<A,R> ecl::generateFunctionObject ( R(*)(A)  function,
const I &  a 
)

Generate a nullary function object from a bound unary global/static function.

Overloaded function type, this particular overload generates a nullary function object from a bound unary global/static function (with supplied const argument). The const argument bind allows for binding from temporaries.

Template Parameters
A: the function's argument type.
R: the return type.
I: a mask for the function's argument type.
Parameters
function: the void global/static function.
a: the argument value to bind (const).
Returns
BoundUnaryFreeFunction<A,R> : nullary function object.
See also
FunctionObjects.

Definition at line 1245 of file function_objects.hpp.

◆ generateFunctionObject() [4/10]

template<typename A , typename R , typename I >
BoundUnaryFreeFunction<A,R> ecl::generateFunctionObject ( R(*)(A)  function,
I &  a 
)

Generate a nullary function object from a bound unary global/static function.

Overloaded function type, this particular overload generates a nullary function object from a bound unary global/static function.

Template Parameters
A: the function's argument type.
R: the return type.
I: a mask for the function's argument type.
Parameters
function: the void global/static function.
a: the argument value to bind.
Returns
BoundUnaryFreeFunction<A,R> : nullary function object.
See also
FunctionObjects.

Definition at line 1224 of file function_objects.hpp.

◆ generateFunctionObject() [5/10]

template<typename C , typename R >
NullaryMemberFunction<C,R> ecl::generateFunctionObject ( R(C::*)()  function)

Generate a unary function object from a nullary member function.

Overloaded function type, this particular overload generates a unary function object from a void member function.

Template Parameters
C: the member function's class type.
R: the member function's return type.
Parameters
function: the void member function.
Returns
NullaryMemberFunction<C,R> : unary function object.
See also
FunctionObjects.

Definition at line 1263 of file function_objects.hpp.

◆ generateFunctionObject() [6/10]

template<typename C , typename R >
BoundNullaryMemberFunction<C,R> ecl::generateFunctionObject ( R(C::*)()  function,
C &  c 
)

Generate a nullary function object by binding a nullary member function with its instance.

Overloaded function type, this particular overload generates a nullary function object by binding the class instance to a void member function.

Template Parameters
C: the member function's class type.
R: the member function's return type.
Parameters
function: the void member function.
c: the member function's class instance.
Returns
NullaryMemberFunction<C,R> : unary function object.
See also
FunctionObjects.

Definition at line 1282 of file function_objects.hpp.

◆ generateFunctionObject() [7/10]

template<typename C , typename A , typename R >
UnaryMemberFunction<C,A,R> ecl::generateFunctionObject ( R(C::*)(A)  function)

Generate a binary function object from a unary member function.

Overloaded function type, this particular overload generates a binary function object from a unary member function.

Template Parameters
C: the member function's class type.
A: the member function's argument type.
R: the member function's return type.
Parameters
function: the unary member function.
Returns
UnaryMemberFunction<C,A,R> : binary function object.
See also
FunctionObjects.

Definition at line 1301 of file function_objects.hpp.

◆ generateFunctionObject() [8/10]

template<typename C , typename A , typename R >
PartiallyBoundUnaryMemberFunction<C,A,R> ecl::generateFunctionObject ( R(C::*)(A)  function,
C &  c 
)

Generate a unary function object by partially binding a unary member function.

Overloaded function type, this particular overload generates a unary function object by binding the class instance but not the argument to a unary member function.

Template Parameters
C: the member function's class type.
A: the member function's argument type.
R: the member function's return type.
Parameters
function: the void member function.
c: the member function's class instance.
Returns
PartiallyBoundUnaryMemberFunction<C,R> : nullary function object.
See also
FunctionObjects.

Definition at line 1323 of file function_objects.hpp.

◆ generateFunctionObject() [9/10]

template<typename C , typename A , typename R , typename I >
BoundUnaryMemberFunction<C,A,R> ecl::generateFunctionObject ( R(C::*)(A)  function,
C &  c,
const I &  a 
)

Generate a nullary function object by binding a unary member function.

Overloaded function type, this particular overload generates a nullary function object by binding the class instance and argument to a unary member function. The const argument bind allows for binding from temporaries.

Template Parameters
C: the member function's class type.
A: the member function's argument type.
R: the member function's return type.
I: a mask for the function's argument type.
Parameters
function: the void member function.
c: the member function's class instance.
a: the argument value to bind (const).
Returns
BoundUnaryMemberFunction<C,R> : nullary function object.
See also
FunctionObjects.

Definition at line 1372 of file function_objects.hpp.

◆ generateFunctionObject() [10/10]

template<typename C , typename A , typename R , typename I >
BoundUnaryMemberFunction<C,A,R> ecl::generateFunctionObject ( R(C::*)(A)  function,
C &  c,
I &  a 
)

Generate a nullary function object by binding a unary member function.

Overloaded function type, this particular overload generates a nullary function object by binding the class instance and argument to a unary member function.

Template Parameters
C: the member function's class type.
A: the member function's argument type.
R: the member function's return type.
I: a mask for the function's argument type.
Parameters
function: the void member function.
c: the member function's class instance.
a: the argument value to bind.
Returns
BoundUnaryMemberFunction<C,R> : nullary function object.
See also
FunctionObjects.

Definition at line 1345 of file function_objects.hpp.

◆ operator<<()

template<typename OutputStream >
OutputStream& ecl::operator<< ( OutputStream &  ostream,
const Void  void_object 
)

Output stream operator for Void objects.

This function not serve any purpose except to allow the stream to move on to the next output object.

Parameters
ostream: the output stream.
void_object: the void object to ignore.
Returns
OutputStream : return the output stream as is.

Definition at line 80 of file void.hpp.

◆ ref()

template<typename T >
ReferenceWrapper<T> ecl::ref ( T &  wrapped_object)

This is a simple means of instantiating a reference wrapper.

This is a simple means of instantiating a reference wrapper.

Parameters
wrapped_object: the object to be referenced.
Returns
ReferenceWrapper<T> : the wrapper.

Definition at line 151 of file references.hpp.



ecl_utilities
Author(s): Daniel Stonier
autogenerated on Wed Mar 2 2022 00:16:32