/usr/include/bobcat/fnwrap2c is in libbobcat-dev 2.20.01-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #ifndef INCLUDED_BOBCAT_FNWRAP2C_H_
#define INCLUDED_BOBCAT_FNWRAP2C_H_
#include <bobcat/typetrait>
namespace FBB
{
template <typename Type1, typename Type2,
typename Context, typename ReturnType = void>
class FnWrap2c
{
ReturnType (*d_fun)(Type1, Type2, Context);
Context d_context;
public:
typedef typename TypeTrait<Type1>::Plain first_argument_type;
typedef typename TypeTrait<Type2>::Plain second_argument_type;
typedef typename TypeTrait<ReturnType>::Plain result_type;
explicit FnWrap2c(ReturnType (*fun)(Type1, Type2, Context),
Context context);
ReturnType operator()(Type1 p1, Type2 p2) const;
};
template
<
typename Type1, typename Type2,
typename Context, typename ReturnType
>
FnWrap2c<Type1, Type2, Context, ReturnType>::FnWrap2c
(
ReturnType fun(Type1, Type2, Context),
Context context
)
:
d_fun(fun),
d_context(context)
{}
template
<
typename Type1, typename Type2,
typename Context, typename ReturnType
>
inline ReturnType FnWrap2c<Type1, Type2, Context, ReturnType>::operator()(
Type1 p1, Type2 p2) const
{
return (*d_fun)(p1, p2, d_context);
}
} // FBB
#endif
|