BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
baseFunctor.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_CONCEPT_BASEFUNCTOR_H
6 #define BALL_CONCEPT_BASEFUNCTOR_H
7 
8 #ifndef BALL_COMMON_GLOBAL_H
9 # include <BALL/COMMON/global.h>
10 #endif
11 
12 namespace BALL
13 {
14 
20 
24  template <class ArgumentType, class ResultType>
26  {
27  public:
28 
32 
35  typedef ResultType result_type;
36 
39  typedef ArgumentType argument_type;
40 
43  typedef ArgumentType& argument_reference;
44 
47  typedef const ArgumentType& const_argument_reference;
48 
51  typedef ArgumentType* argument_pointer;
52 
55  typedef const ArgumentType* const_argument_pointer;
56 
58  };
59 
63  template <class FirstArgumentType, class SecondArgumentType, class ResultType>
65  {
66  public:
67 
71 
74  typedef ResultType result_type;
75 
78  typedef FirstArgumentType first_argument_type;
81  typedef FirstArgumentType & first_argument_reference;
84  typedef const FirstArgumentType & const_first_argument_reference;
87  typedef FirstArgumentType * first_argument_pointer;
90  typedef const FirstArgumentType * const_first_argument_pointer;
91 
94  typedef SecondArgumentType second_argument_type;
97  typedef SecondArgumentType & second_argument_reference;
100  typedef const SecondArgumentType & const_second_argument_reference;
103  typedef SecondArgumentType * second_argument_pointer;
106  typedef const SecondArgumentType * const_second_argument_pointer;
107 
109  };
110 
112 
113 } // namespace BALL
114 
115 #endif // BALL_CONCEPT_BASEFUNCTOR_H