MementoTie unit test pass

This commit is contained in:
Fischlurch 2009-07-09 18:35:22 +02:00
parent ba910a126e
commit 9e95ec8b60
2 changed files with 9 additions and 7 deletions

View file

@ -51,7 +51,8 @@
#include "lib/meta/function.hpp" #include "lib/meta/function.hpp"
#include "lib/meta/typelist.hpp" #include "lib/meta/typelist.hpp"
#include "lib/meta/typelist-util.hpp" #include "lib/meta/typelist-util.hpp"
#include "lib/meta/tuple.hpp" #include "lib/meta/typeseq-util.hpp"
//#include "lib/meta/tuple.hpp"
//#include <tr1/memory> //#include <tr1/memory>
#include <tr1/functional> #include <tr1/functional>
@ -69,7 +70,7 @@ namespace control {
using lumiera::typelist::FunctionTypedef; using lumiera::typelist::FunctionTypedef;
using lumiera::typelist::Types; using lumiera::typelist::Types;
//using lumiera::typelist::NullType; //using lumiera::typelist::NullType;
using lumiera::typelist::Tuple; //using lumiera::typelist::Tuple;
using lumiera::typelist::Append; using lumiera::typelist::Append;
using lumiera::typelist::SplitLast; using lumiera::typelist::SplitLast;
@ -86,8 +87,9 @@ namespace control {
{ {
typedef typename FunctionSignature< function<SIG> >::Args Args; typedef typename FunctionSignature< function<SIG> >::Args Args;
typedef typename Append<Args, MEM>::List ExtendedArglist; typedef typename Args::List ArgList;
typedef typename Tuple<ExtendedArglist>::Type ExtendedArgs; typedef typename Append<ArgList, MEM>::List ExtendedArglist;
typedef typename Types<ExtendedArglist>::Seq ExtendedArgs;
public: public:
typedef typename FunctionTypedef<void, Args>::Sig OperateSig; typedef typename FunctionTypedef<void, Args>::Sig OperateSig;
@ -119,7 +121,7 @@ namespace control {
{ {
typedef RET Memento; typedef RET Memento;
typedef typename Append<ARG, Memento>::List ExtendedArglist; typedef typename Append<ARG, Memento>::List ExtendedArglist;
typedef typename Tuple<ExtendedArglist>::Type ExtendedArgs; typedef typename Types<ExtendedArglist>::Seq ExtendedArgs;
typedef typename FunctionTypedef<void, ARG>::Sig OperateSig; typedef typename FunctionTypedef<void, ARG>::Sig OperateSig;
typedef typename FunctionTypedef<Ret,ARG>::Sig CaptureSig; typedef typename FunctionTypedef<Ret,ARG>::Sig CaptureSig;
@ -133,7 +135,7 @@ namespace control {
typedef typename SplitLast<Args>::Type Memento; typedef typename SplitLast<Args>::Type Memento;
typedef typename SplitLast<Args>::List OperationArglist; typedef typename SplitLast<Args>::List OperationArglist;
typedef typename Tuple<OperationArglist>::Type OperationArgs; typedef typename Types<OperationArglist>::Seq OperationArgs;
typedef typename FunctionTypedef<void, OperationArgs>::Sig OperateSig; typedef typename FunctionTypedef<void, OperationArgs>::Sig OperateSig;
typedef typename FunctionTypedef<Ret,OperationArgs>::Sig CaptureSig; typedef typename FunctionTypedef<Ret,OperationArgs>::Sig CaptureSig;

View file

@ -34,7 +34,7 @@
//#include "proc/mobject/explicitplacement.hpp" //#include "proc/mobject/explicitplacement.hpp"
#include "proc/control/memento-tie.hpp" #include "proc/control/memento-tie.hpp"
//#include "lib/meta/typelist.hpp" //#include "lib/meta/typelist.hpp"
#include "lib/meta/tuple.hpp" //#include "lib/meta/tuple.hpp"
//#include "lib/lumitime.hpp" //#include "lib/lumitime.hpp"
//#include "lib/util.hpp" //#include "lib/util.hpp"