ecl Namespace Reference

Embedded control libraries. More...

Classes

class  BinaryFunction
 Virtual interface definition for binary function objects. More...
class  BluePrint
 This is a parent template for blueprints using crtp. More...
class  BluePrintFactory
 Primary template for blueprint factories. More...
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  Flags
 Convenience class for organising boolean flags. More...
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  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  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  Parameter
 General parameter type for member variables of a pre-specified class. 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  Singleton
 Singleton construction via the curiously recurring template pattern. More...
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...
class  Void
 A void (null) object. More...

Typedefs

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 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.
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 >
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 >
UnaryMemberFunction< C, A, R > generateFunctionObject (R(C::*function)(A))
 Generate a binary function object from a unary 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 R >
NullaryMemberFunction< C, R > generateFunctionObject (R(C::*function)())
 Generate a unary function object from a nullary member 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 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 >
UnaryFreeFunction< A, R > generateFunctionObject (R(*function)(A))
 Generate a unary function object from a unary global/static function.
template<typename R >
NullaryFreeFunction< R > generateFunctionObject (R(*function)())
 Generate a nullary function object from a void global/static function.
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  )  [inline]

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  )  [inline]

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 C , typename A , typename R , typename I >
BoundUnaryMemberFunction<C,A,R> ecl::generateFunctionObject ( R(C::*)(A)  function,
C &  c,
const I &  a 
) [inline]

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 1299 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 
) [inline]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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  )  [inline]

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.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends


ecl_utilities
Author(s): Daniel Stonier (d.stonier@gmail.com)
autogenerated on Fri Jan 11 11:53:49 2013