PageRenderTime 22ms CodeModel.GetById 13ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/integer/static_min_max.hpp

http://hadesmem.googlecode.com/
C++ Header | 51 lines | 29 code | 14 blank | 8 comment | 0 complexity | 803bc9d6834a944d7ffb4bfc5d172a38 MD5 | raw file
 1//  Boost integer/static_min_max.hpp header file  ----------------------------//
 2
 3//  (C) Copyright Daryle Walker 2001.
 4//  Distributed under the Boost Software License, Version 1.0. (See
 5//  accompanying file LICENSE_1_0.txt or copy at
 6//  http://www.boost.org/LICENSE_1_0.txt)
 7
 8//  See http://www.boost.org for updates, documentation, and revision history. 
 9
10#ifndef BOOST_INTEGER_STATIC_MIN_MAX_HPP
11#define BOOST_INTEGER_STATIC_MIN_MAX_HPP
12
13#include <boost/integer_fwd.hpp>  // self include
14
15namespace boost
16{
17
18//  Compile-time extrema class declarations  ---------------------------------//
19//  Get the minimum or maximum of two values, signed or unsigned.
20
21template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
22struct static_signed_min
23{
24    BOOST_STATIC_CONSTANT(static_min_max_signed_type, value = (Value1 > Value2) ? Value2 : Value1 );
25};
26
27template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
28struct static_signed_max
29{
30    BOOST_STATIC_CONSTANT(static_min_max_signed_type, value = (Value1 < Value2) ? Value2 : Value1 );
31};
32
33template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
34struct static_unsigned_min
35{
36    BOOST_STATIC_CONSTANT(static_min_max_unsigned_type, value
37     = (Value1 > Value2) ? Value2 : Value1 );
38};
39
40template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
41struct static_unsigned_max
42{
43    BOOST_STATIC_CONSTANT(static_min_max_unsigned_type, value
44     = (Value1 < Value2) ? Value2 : Value1 );
45};
46
47
48}  // namespace boost
49
50
51#endif  // BOOST_INTEGER_STATIC_MIN_MAX_HPP