Two lines between functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33844 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -69,6 +69,7 @@ private:
|
|||||||
P p;
|
P p;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
class ParameterBinder<const BEntry *> {
|
class ParameterBinder<const BEntry *> {
|
||||||
public:
|
public:
|
||||||
@@ -86,6 +87,7 @@ private:
|
|||||||
BEntry p;
|
BEntry p;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
class ParameterBinder<const entry_ref *> {
|
class ParameterBinder<const entry_ref *> {
|
||||||
public:
|
public:
|
||||||
@@ -105,6 +107,7 @@ private:
|
|||||||
entry_ref p;
|
entry_ref p;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
class ParameterBinder<const node_ref *> {
|
class ParameterBinder<const node_ref *> {
|
||||||
public:
|
public:
|
||||||
@@ -122,6 +125,7 @@ private:
|
|||||||
node_ref p;
|
node_ref p;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
class ParameterBinder<const BMessage *> {
|
class ParameterBinder<const BMessage *> {
|
||||||
public:
|
public:
|
||||||
@@ -149,12 +153,14 @@ private:
|
|||||||
BMessage *p;
|
BMessage *p;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class FunctionObject {
|
class FunctionObject {
|
||||||
public:
|
public:
|
||||||
virtual void operator()() = 0;
|
virtual void operator()() = 0;
|
||||||
virtual ~FunctionObject() {}
|
virtual ~FunctionObject() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<class R>
|
template<class R>
|
||||||
class FunctionObjectWithResult : public FunctionObject {
|
class FunctionObjectWithResult : public FunctionObject {
|
||||||
public:
|
public:
|
||||||
@@ -165,6 +171,7 @@ protected:
|
|||||||
R result;
|
R result;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class Param1>
|
template <class Param1>
|
||||||
class SingleParamFunctionObject : public FunctionObject {
|
class SingleParamFunctionObject : public FunctionObject {
|
||||||
public:
|
public:
|
||||||
@@ -184,6 +191,7 @@ private:
|
|||||||
ParameterBinder<Param1> p1;
|
ParameterBinder<Param1> p1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class Result, class Param1>
|
template <class Result, class Param1>
|
||||||
class SingleParamFunctionObjectWithResult : public FunctionObjectWithResult<Result> {
|
class SingleParamFunctionObjectWithResult : public FunctionObjectWithResult<Result> {
|
||||||
public:
|
public:
|
||||||
@@ -202,6 +210,7 @@ private:
|
|||||||
ParameterBinder<Param1> p1;
|
ParameterBinder<Param1> p1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class Param1, class Param2>
|
template <class Param1, class Param2>
|
||||||
class TwoParamFunctionObject : public FunctionObject {
|
class TwoParamFunctionObject : public FunctionObject {
|
||||||
public:
|
public:
|
||||||
@@ -246,6 +255,7 @@ private:
|
|||||||
ParameterBinder<Param3> p3;
|
ParameterBinder<Param3> p3;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class Result, class Param1, class Param2, class Param3>
|
template <class Result, class Param1, class Param2, class Param3>
|
||||||
class ThreeParamFunctionObjectWithResult : public FunctionObjectWithResult<Result> {
|
class ThreeParamFunctionObjectWithResult : public FunctionObjectWithResult<Result> {
|
||||||
public:
|
public:
|
||||||
@@ -269,6 +279,7 @@ private:
|
|||||||
ParameterBinder<Param3> p3;
|
ParameterBinder<Param3> p3;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class Param1, class Param2, class Param3, class Param4>
|
template <class Param1, class Param2, class Param3, class Param4>
|
||||||
class FourParamFunctionObject : public FunctionObject {
|
class FourParamFunctionObject : public FunctionObject {
|
||||||
public:
|
public:
|
||||||
@@ -293,6 +304,7 @@ private:
|
|||||||
ParameterBinder<Param4> p4;
|
ParameterBinder<Param4> p4;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class Result, class Param1, class Param2, class Param3, class Param4>
|
template <class Result, class Param1, class Param2, class Param3, class Param4>
|
||||||
class FourParamFunctionObjectWithResult : public FunctionObjectWithResult<Result> {
|
class FourParamFunctionObjectWithResult : public FunctionObjectWithResult<Result> {
|
||||||
public:
|
public:
|
||||||
@@ -318,6 +330,7 @@ private:
|
|||||||
ParameterBinder<Param4> p4;
|
ParameterBinder<Param4> p4;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
class PlainMemberFunctionObject : public FunctionObject {
|
class PlainMemberFunctionObject : public FunctionObject {
|
||||||
public:
|
public:
|
||||||
@@ -335,6 +348,7 @@ private:
|
|||||||
T *target;
|
T *target;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
class PlainLockingMemberFunctionObject : public FunctionObject {
|
class PlainLockingMemberFunctionObject : public FunctionObject {
|
||||||
public:
|
public:
|
||||||
@@ -358,6 +372,7 @@ private:
|
|||||||
BMessenger messenger;
|
BMessenger messenger;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<class T, class R>
|
template<class T, class R>
|
||||||
class PlainMemberFunctionObjectWithResult : public FunctionObjectWithResult<R> {
|
class PlainMemberFunctionObjectWithResult : public FunctionObjectWithResult<R> {
|
||||||
public:
|
public:
|
||||||
@@ -376,6 +391,7 @@ private:
|
|||||||
T *target;
|
T *target;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<class T, class Param1>
|
template<class T, class Param1>
|
||||||
class SingleParamMemberFunctionObject : public FunctionObject {
|
class SingleParamMemberFunctionObject : public FunctionObject {
|
||||||
public:
|
public:
|
||||||
@@ -395,6 +411,7 @@ private:
|
|||||||
ParameterBinder<Param1> p1;
|
ParameterBinder<Param1> p1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<class T, class Param1, class Param2>
|
template<class T, class Param1, class Param2>
|
||||||
class TwoParamMemberFunctionObject : public FunctionObject {
|
class TwoParamMemberFunctionObject : public FunctionObject {
|
||||||
public:
|
public:
|
||||||
@@ -439,6 +456,7 @@ protected:
|
|||||||
ParameterBinder<Param1> p1;
|
ParameterBinder<Param1> p1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<class T, class R, class Param1, class Param2>
|
template<class T, class R, class Param1, class Param2>
|
||||||
class TwoParamMemberFunctionObjectWithResult : public FunctionObjectWithResult<R> {
|
class TwoParamMemberFunctionObjectWithResult : public FunctionObjectWithResult<R> {
|
||||||
public:
|
public:
|
||||||
@@ -462,6 +480,7 @@ protected:
|
|||||||
ParameterBinder<Param2> p2;
|
ParameterBinder<Param2> p2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// convenience factory functions
|
// convenience factory functions
|
||||||
// NewFunctionObject
|
// NewFunctionObject
|
||||||
// NewMemberFunctionObject
|
// NewMemberFunctionObject
|
||||||
@@ -477,6 +496,7 @@ NewFunctionObject(void (*function)(Param1), Param1 p1)
|
|||||||
return new SingleParamFunctionObject<Param1>(function, p1);
|
return new SingleParamFunctionObject<Param1>(function, p1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class Param1, class Param2>
|
template<class Param1, class Param2>
|
||||||
TwoParamFunctionObject<Param1, Param2> *
|
TwoParamFunctionObject<Param1, Param2> *
|
||||||
NewFunctionObject(void (*function)(Param1, Param2), Param1 p1, Param2 p2)
|
NewFunctionObject(void (*function)(Param1, Param2), Param1 p1, Param2 p2)
|
||||||
@@ -484,6 +504,7 @@ NewFunctionObject(void (*function)(Param1, Param2), Param1 p1, Param2 p2)
|
|||||||
return new TwoParamFunctionObject<Param1, Param2>(function, p1, p2);
|
return new TwoParamFunctionObject<Param1, Param2>(function, p1, p2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class Param1, class Param2, class Param3>
|
template<class Param1, class Param2, class Param3>
|
||||||
ThreeParamFunctionObject<Param1, Param2, Param3> *
|
ThreeParamFunctionObject<Param1, Param2, Param3> *
|
||||||
NewFunctionObject(void (*function)(Param1, Param2, Param3),
|
NewFunctionObject(void (*function)(Param1, Param2, Param3),
|
||||||
@@ -492,6 +513,7 @@ NewFunctionObject(void (*function)(Param1, Param2, Param3),
|
|||||||
return new ThreeParamFunctionObject<Param1, Param2, Param3>(function, p1, p2, p3);
|
return new ThreeParamFunctionObject<Param1, Param2, Param3>(function, p1, p2, p3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
PlainMemberFunctionObject<T> *
|
PlainMemberFunctionObject<T> *
|
||||||
NewMemberFunctionObject(void (T::*function)(), T *onThis)
|
NewMemberFunctionObject(void (T::*function)(), T *onThis)
|
||||||
@@ -499,6 +521,7 @@ NewMemberFunctionObject(void (T::*function)(), T *onThis)
|
|||||||
return new PlainMemberFunctionObject<T>(function, onThis);
|
return new PlainMemberFunctionObject<T>(function, onThis);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T, class Param1>
|
template<class T, class Param1>
|
||||||
SingleParamMemberFunctionObject<T, Param1> *
|
SingleParamMemberFunctionObject<T, Param1> *
|
||||||
NewMemberFunctionObject(void (T::*function)(Param1), T *onThis, Param1 p1)
|
NewMemberFunctionObject(void (T::*function)(Param1), T *onThis, Param1 p1)
|
||||||
@@ -506,6 +529,7 @@ NewMemberFunctionObject(void (T::*function)(Param1), T *onThis, Param1 p1)
|
|||||||
return new SingleParamMemberFunctionObject<T, Param1>(function, onThis, p1);
|
return new SingleParamMemberFunctionObject<T, Param1>(function, onThis, p1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T, class Param1, class Param2>
|
template<class T, class Param1, class Param2>
|
||||||
TwoParamMemberFunctionObject<T, Param1, Param2> *
|
TwoParamMemberFunctionObject<T, Param1, Param2> *
|
||||||
NewMemberFunctionObject(void (T::*function)(Param1, Param2), T *onThis,
|
NewMemberFunctionObject(void (T::*function)(Param1, Param2), T *onThis,
|
||||||
@@ -515,6 +539,7 @@ NewMemberFunctionObject(void (T::*function)(Param1, Param2), T *onThis,
|
|||||||
p1, p2);
|
p1, p2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T, class R, class Param1, class Param2>
|
template<class T, class R, class Param1, class Param2>
|
||||||
TwoParamMemberFunctionObjectWithResult<T, R, Param1, Param2> *
|
TwoParamMemberFunctionObjectWithResult<T, R, Param1, Param2> *
|
||||||
NewMemberFunctionObjectWithResult(R (T::*function)(Param1, Param2),
|
NewMemberFunctionObjectWithResult(R (T::*function)(Param1, Param2),
|
||||||
@@ -524,6 +549,7 @@ NewMemberFunctionObjectWithResult(R (T::*function)(Param1, Param2),
|
|||||||
(function, onThis, p1, p2);
|
(function, onThis, p1, p2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class HandlerOrSubclass>
|
template<class HandlerOrSubclass>
|
||||||
PlainLockingMemberFunctionObject<HandlerOrSubclass> *
|
PlainLockingMemberFunctionObject<HandlerOrSubclass> *
|
||||||
NewLockingMemberFunctionObject(void (HandlerOrSubclass::*function)(),
|
NewLockingMemberFunctionObject(void (HandlerOrSubclass::*function)(),
|
||||||
|
|||||||
Reference in New Issue
Block a user