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

Embedded control libraries. More...

Namespaces

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

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).
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.
template<typename A , typename R >
UnaryFreeFunction< A, R > generateFunctionObject (R(*function)(A))
 Generate a unary function object from a unary global/static function.
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.
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.
template<typename C , typename R >
NullaryMemberFunction< C, R > generateFunctionObject (R(C::*function)())
 Generate a unary function object from a nullary member function.
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.
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.
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.
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.
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.
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.
template<typename T >
ReferenceWrapper< T > ref (T &wrapped_object)

Detailed Description

Embedded control libraries.

Various core libraries useful for embedded control systems.


Typedef Documentation

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

Definition at line 44 of file void.hpp.


Enumeration Type Documentation

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

Definition at line 28 of file flags.hpp.


Function Documentation

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 39 of file references.hpp.

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 157 of file references.hpp.

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 1180 of file function_objects.hpp.

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 1198 of file function_objects.hpp.

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 1218 of file function_objects.hpp.

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 1239 of file function_objects.hpp.

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 1257 of file function_objects.hpp.

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 1276 of file function_objects.hpp.

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 1295 of file function_objects.hpp.

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 1317 of file function_objects.hpp.

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 1339 of file function_objects.hpp.

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 1366 of file function_objects.hpp.

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 76 of file void.hpp.

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 145 of file references.hpp.



ecl_utilities
Author(s): Daniel Stonier
autogenerated on Thu Jun 6 2019 21:17:40