You are here: Home PIK Members Daniel Lincke Software outputs FCPPC.cpp

FCPPC.cpp

Plain Text icon FCPPC.cpp — Plain Text, 10 KB (10796 bytes)

File contents

template<class fun1, class fun2>
  requires
	Function<fun1>
	Function<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose_codomain1 {

	typedef   fun2::Domain1  Domain1;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};

template<class fun1, class fun2>
  requires
	Function<fun1>
	Function<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose {

	typedef   fun1  Domain1;
	typedef   fun2  Domain2;
	typedef   Compose_codomain1  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2) {
	}

};



template<class fun1, class fun2>
  requires
	Function<fun1>
	Function2<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose2_codomain1 {

	typedef   fun2::Domain1  Domain1;
	typedef   fun2::Domain2  Domain2;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2) {
	}

};

template<class fun1, class fun2>
  requires
	Function<fun1>
	Function2<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose2 {

	typedef   fun1  Domain1;
	typedef   fun2  Domain2;
	typedef   Compose2_codomain1  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2) {
	}

};



template<class fun1, class fun2>
  requires
	Function<fun1>
	Function3<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose3_codomain1 {

	typedef   fun2::Domain1  Domain1;
	typedef   fun2::Domain2  Domain2;
	typedef   fun2::Domain3  Domain3;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3) {
	}

};

template<class fun1, class fun2>
  requires
	Function<fun1>
	Function3<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose3 {

	typedef   fun1  Domain1;
	typedef   fun2  Domain2;
	typedef   Compose3_codomain1  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2) {
	}

};



template<class fun1, class fun2>
  requires
	Function<fun1>
	Function4<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose4_codomain1 {

	typedef   fun2::Domain1  Domain1;
	typedef   fun2::Domain2  Domain2;
	typedef   fun2::Domain3  Domain3;
	typedef   fun2::Domain4  Domain4;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3, Domain4 x4) {
	}

};

template<class fun1, class fun2>
  requires
	Function<fun1>
	Function4<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose4 {

	typedef   fun1  Domain1;
	typedef   fun2  Domain2;
	typedef   Compose4_codomain1  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2) {
	}

};



template<class fun1, class fun2>
  requires
	Function<fun1>
	Function5<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose5_codomain1 {

	typedef   fun2::Domain1  Domain1;
	typedef   fun2::Domain2  Domain2;
	typedef   fun2::Domain3  Domain3;
	typedef   fun2::Domain4  Domain4;
	typedef   fun2::Domain5  Domain5;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3, Domain4 x4, Domain5 x5) {
	}

};

template<class fun1, class fun2>
  requires
	Function<fun1>
	Function5<fun2>
	SameType<fun2::Codomain, fun1::Domain1>
struct Compose5 {

	typedef   fun1  Domain1;
	typedef   fun2  Domain2;
	typedef   Compose5_codomain1  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2) {
	}

};



template<class fun1>
  requires
	Function2<fun1>
struct Curry_codomain1_codomain1 {

	typedef   fun1::Domain2  Domain1;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};

template<class fun1>
  requires
	Function2<fun1>
struct Curry_codomain1 {

	typedef   fun1::Domain1  Domain1;
	typedef   Curry_codomain1_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};

template<class fun1>
  requires
	Function2<fun1>
struct Curry {

	typedef   fun1  Domain1;
	typedef   Curry_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



template<class fun1>
  requires
	Function3<fun1>
struct Curry2_codomain1_codomain1 {

	typedef   fun1::Domain2  Domain1;
	typedef   fun1::Domain3  Domain2;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2) {
	}

};

template<class fun1>
  requires
	Function3<fun1>
struct Curry2_codomain1 {

	typedef   fun1::Domain1  Domain1;
	typedef   Curry2_codomain1_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};

template<class fun1>
  requires
	Function3<fun1>
struct Curry2 {

	typedef   fun1  Domain1;
	typedef   Curry2_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



template<class fun1>
  requires
	Function4<fun1>
struct Curry3_codomain1_codomain1 {

	typedef   fun1::Domain2  Domain1;
	typedef   fun1::Domain3  Domain2;
	typedef   fun1::Domain4  Domain3;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3) {
	}

};

template<class fun1>
  requires
	Function4<fun1>
struct Curry3_codomain1 {

	typedef   fun1::Domain1  Domain1;
	typedef   Curry3_codomain1_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};

template<class fun1>
  requires
	Function4<fun1>
struct Curry3 {

	typedef   fun1  Domain1;
	typedef   Curry3_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



template<class fun1>
  requires
	Function5<fun1>
struct Curry4_codomain1_codomain1 {

	typedef   fun1::Domain2  Domain1;
	typedef   fun1::Domain3  Domain2;
	typedef   fun1::Domain4  Domain3;
	typedef   fun1::Domain5  Domain4;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3, Domain4 x4) {
	}

};

template<class fun1>
  requires
	Function5<fun1>
struct Curry4_codomain1 {

	typedef   fun1::Domain1  Domain1;
	typedef   Curry4_codomain1_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};

template<class fun1>
  requires
	Function5<fun1>
struct Curry4 {

	typedef   fun1  Domain1;
	typedef   Curry4_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



template<class fun1>
  requires
	Function6<fun1>
struct Curry5_codomain1_codomain1 {

	typedef   fun1::Domain2  Domain1;
	typedef   fun1::Domain3  Domain2;
	typedef   fun1::Domain4  Domain3;
	typedef   fun1::Domain5  Domain4;
	typedef   fun1::Domain6  Domain5;
	typedef   fun1::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3, Domain4 x4, Domain5 x5) {
	}

};

template<class fun1>
  requires
	Function6<fun1>
struct Curry5_codomain1 {

	typedef   fun1::Domain1  Domain1;
	typedef   Curry5_codomain1_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};

template<class fun1>
  requires
	Function6<fun1>
struct Curry5 {

	typedef   fun1  Domain1;
	typedef   Curry5_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



template<class fun2>
  requires
	Function<fun2::Codomain>
	Function<fun2>
struct Uncurry_codomain1 {

	typedef   fun2::Domain1  Domain1;
	typedef   fun2::Codomain::Domain1  Domain2;
	typedef   fun2::Codomain::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2) {
	}

};

template<class fun2>
  requires
	Function<fun2::Codomain>
	Function<fun2>
struct Uncurry {

	typedef   fun2  Domain1;
	typedef   Uncurry_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



template<class fun3>
  requires
	Function<fun3::Codomain::Codomain>
	Function<fun3::Codomain>
	Function<fun3>
struct Uncurry2_codomain1 {

	typedef   fun3::Domain1  Domain1;
	typedef   fun3::Codomain::Domain1  Domain2;
	typedef   fun3::Codomain::Codomain::Domain1  Domain3;
	typedef   fun3::Codomain::Codomain::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3) {
	}

};

template<class fun3>
  requires
	Function<fun3::Codomain::Codomain>
	Function<fun3::Codomain>
	Function<fun3>
struct Uncurry2 {

	typedef   fun3  Domain1;
	typedef   Uncurry2_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



template<class fun4>
  requires
	Function<fun4::Codomain::Codomain::Codomain>
	Function<fun4::Codomain::Codomain>
	Function<fun4::Codomain>
	Function<fun4>
struct Uncurry3_codomain1 {

	typedef   fun4::Domain1  Domain1;
	typedef   fun4::Codomain::Domain1  Domain2;
	typedef   fun4::Codomain::Codomain::Domain1  Domain3;
	typedef   fun4::Codomain::Codomain::Codomain::Domain1  Domain4;
	typedef   fun4::Codomain::Codomain::Codomain::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3, Domain4 x4) {
	}

};

template<class fun4>
  requires
	Function<fun4::Codomain::Codomain::Codomain>
	Function<fun4::Codomain::Codomain>
	Function<fun4::Codomain>
	Function<fun4>
struct Uncurry3 {

	typedef   fun4  Domain1;
	typedef   Uncurry3_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



template<class fun5>
  requires
	Function<fun5::Codomain::Codomain::Codomain::Codomain>
	Function<fun5::Codomain::Codomain::Codomain>
	Function<fun5::Codomain::Codomain>
	Function<fun5::Codomain>
	Function<fun5>
struct Uncurry4_codomain1 {

	typedef   fun5::Domain1  Domain1;
	typedef   fun5::Codomain::Domain1  Domain2;
	typedef   fun5::Codomain::Codomain::Domain1  Domain3;
	typedef   fun5::Codomain::Codomain::Codomain::Domain1  Domain4;
	typedef   fun5::Codomain::Codomain::Codomain::Codomain::Domain1  Domain5;
	typedef   fun5::Codomain::Codomain::Codomain::Codomain::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3, Domain4 x4, Domain5 x5) {
	}

};

template<class fun5>
  requires
	Function<fun5::Codomain::Codomain::Codomain::Codomain>
	Function<fun5::Codomain::Codomain::Codomain>
	Function<fun5::Codomain::Codomain>
	Function<fun5::Codomain>
	Function<fun5>
struct Uncurry4 {

	typedef   fun5  Domain1;
	typedef   Uncurry4_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



template<class fun6>
  requires
	Function<fun6::Codomain::Codomain::Codomain::Codomain::Codomain>
	Function<fun6::Codomain::Codomain::Codomain::Codomain>
	Function<fun6::Codomain::Codomain::Codomain>
	Function<fun6::Codomain::Codomain>
	Function<fun6::Codomain>
	Function<fun6>
struct Uncurry5_codomain1 {

	typedef   fun6::Domain1  Domain1;
	typedef   fun6::Codomain::Domain1  Domain2;
	typedef   fun6::Codomain::Codomain::Domain1  Domain3;
	typedef   fun6::Codomain::Codomain::Codomain::Domain1  Domain4;
	typedef   fun6::Codomain::Codomain::Codomain::Codomain::Codomain::Domain1  Domain5;
	typedef   fun6::Codomain::Codomain::Codomain::Codomain::Codomain::Codomain  Codomain;

	Codomain operator() (Domain1 x1, Domain2 x2, Domain3 x3, Domain4 x4, Domain5 x5) {
	}

};

template<class fun6>
  requires
	Function<fun6::Codomain::Codomain::Codomain::Codomain::Codomain>
	Function<fun6::Codomain::Codomain::Codomain::Codomain>
	Function<fun6::Codomain::Codomain::Codomain>
	Function<fun6::Codomain::Codomain>
	Function<fun6::Codomain>
	Function<fun6>
struct Uncurry5 {

	typedef   fun6  Domain1;
	typedef   Uncurry5_codomain1  Codomain;

	Codomain operator() (Domain1 x1) {
	}

};



Document Actions