/elec/propeller-clock

To get this branch, use:
bzr branch http://bzr.ed.am/elec/propeller-clock

« back to all changes in this revision

Viewing changes to src/utility/type_traits

  • Committer: edam
  • Date: 2012-02-25 01:31:43 UTC
  • Revision ID: tim@ed.am-20120225013143-9fet2y2d3fjlrwez
added ulibc

Show diffs side-by-side

added added

removed removed

 
1
/*      Copyright (C) 2005 Garrett A. Kajmowicz
 
2
 
 
3
        This file is part of the uClibc++ Library.
 
4
        This library is free software; you can redistribute it and/or
 
5
        modify it under the terms of the GNU Lesser General Public
 
6
        License as published by the Free Software Foundation; either
 
7
        version 2.1 of the License, or (at your option) any later version.
 
8
 
 
9
        This library is distributed in the hope that it will be useful,
 
10
        but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
12
        Lesser General Public License for more details.
 
13
 
 
14
        You should have received a copy of the GNU Lesser General Public
 
15
        License along with this library; if not, write to the Free Software
 
16
        Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
17
*/
 
18
 
 
19
#include <basic_definitions>
 
20
#include <string.h>
 
21
#include <exception>
 
22
#include <memory>
 
23
#include <char_traits>
 
24
 
 
25
#ifndef __HEADER_TYPE_TRAITS
 
26
#define __HEADER_TYPE_TRAITS 1
 
27
 
 
28
#pragma GCC visibility push(default)
 
29
 
 
30
namespace std{
 
31
 
 
32
        struct _UCXXEXPORT __true_type{};
 
33
        struct _UCXXEXPORT __false_type{};
 
34
 
 
35
        template <class I> class _UCXXEXPORT __is_integer{
 
36
        public:
 
37
                typedef __false_type value;
 
38
        };
 
39
 
 
40
        template <> class _UCXXEXPORT __is_integer <unsigned int>{
 
41
        public:
 
42
                typedef __true_type value;
 
43
        };
 
44
 
 
45
        template <> class _UCXXEXPORT __is_integer <signed int>{
 
46
        public:
 
47
                typedef __true_type value;
 
48
        };
 
49
 
 
50
        template <> class _UCXXEXPORT __is_integer <short unsigned int>{
 
51
        public:
 
52
                typedef __true_type value;
 
53
        };
 
54
 
 
55
        template <> class _UCXXEXPORT __is_integer <short signed int>{
 
56
        public:
 
57
                typedef __true_type value;
 
58
        };
 
59
 
 
60
        template <> class _UCXXEXPORT __is_integer <char>{
 
61
        public:
 
62
                typedef __true_type value;
 
63
        };
 
64
 
 
65
        template <> class _UCXXEXPORT __is_integer <signed char>{
 
66
        public:
 
67
                typedef __true_type value;
 
68
        };
 
69
 
 
70
        template <> class _UCXXEXPORT __is_integer <unsigned char>{
 
71
        public:
 
72
                typedef __true_type value;
 
73
        };
 
74
 
 
75
        template <> class _UCXXEXPORT __is_integer <long unsigned int>{
 
76
        public:
 
77
                typedef __true_type value;
 
78
        };
 
79
 
 
80
        template <> class _UCXXEXPORT __is_integer <long signed int>{
 
81
        public:
 
82
                typedef __true_type value;
 
83
        };
 
84
 
 
85
 
 
86
 
 
87
}
 
88
 
 
89
#pragma GCC visibility pop
 
90
 
 
91
#endif
 
92