3 //=============================================================================
7 * Define an appropriate set of min()/max() functions using templates.
9 * @author Derek Dominish <Derek.Dominish@Australia.Boeing.com>
11 //=============================================================================
15 #include /**/ "ace/pre.h"
17 #include /**/ "ace/config-all.h"
19 # if !defined (ACE_LACKS_PRAGMA_ONCE)
21 # endif /* ACE_LACKS_PRAGMA_ONCE */
23 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
27 ace_min (const T
&t1
, const T
&t2
)
29 return t2
> t1
? t1
: t2
;
34 ace_max (const T
&t1
, const T
&t2
)
36 return t1
> t2
? t1
: t2
;
41 ace_min (const T
&t1
, const T
&t2
, const T
&t3
)
43 return ace_min (ace_min (t1
, t2
), t3
);
48 ace_max (const T
&t1
, const T
&t2
, const T
&t3
)
50 return ace_max (ace_max (t1
, t2
), t3
);
55 ace_range (const T
&min
, const T
&max
, const T
&val
)
57 return ace_min (ace_max (min
, val
), max
);
60 ACE_END_VERSIONED_NAMESPACE_DECL
62 # define ACE_MIN(a,b) ace_min((a),(b))
63 # define ACE_MAX(a,b) ace_max((a),(b))
64 # define ACE_RANGE(a,b,c) ace_range((a),(b),(c))
66 #include /**/ "ace/post.h"
67 #endif /* ACE_MIN_MAX_H */