DefaultAllocator.hxx
1 // Copyright (C) 2001-2015 Marc DuruflĂ©
2 //
3 // This file is part of the linear-algebra library Seldon,
4 // http://seldon.sourceforge.net/.
5 //
6 // Seldon is free software; you can redistribute it and/or modify it under the
7 // terms of the GNU Lesser General Public License as published by the Free
8 // Software Foundation; either version 2.1 of the License, or (at your option)
9 // any later version.
10 //
11 // Seldon is distributed in the hope that it will be useful, but WITHOUT ANY
12 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13 // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
14 // more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public License
17 // along with Seldon. If not, see http://www.gnu.org/licenses/.
18 
19 #ifndef SELDON_FILE_DEFAULT_ALLOCATOR_HXX
20 
21 // default allocators for basic types
22 
23 // if you want to redefine you own default allocators, you should
24 // include a file with the SELDON_FILE_DEFAULT_ALLOCATOR_HXX
25 // such that this file is not included
26 
27 namespace Seldon
28 {
29  template<class Storage>
30  class SeldonDefaultAllocator<Storage, bool>
31  {
32  public:
34  };
35 
36  template<class Storage>
37  class SeldonDefaultAllocator<Storage, char>
38  {
39  public:
41  };
42 
43  template<class Storage>
44  class SeldonDefaultAllocator<Storage, unsigned>
45  {
46  public:
48  };
49 
50  template<class Storage>
51  class SeldonDefaultAllocator<Storage, int>
52  {
53  public:
55  };
56 
57  template<class Storage>
58  class SeldonDefaultAllocator<Storage, unsigned long>
59  {
60  public:
62  };
63 
64  template<class Storage>
65  class SeldonDefaultAllocator<Storage, long>
66  {
67  public:
69  };
70 
71  template<class Storage>
72  class SeldonDefaultAllocator<Storage, unsigned long long>
73  {
74  public:
76  };
77 
78  template<class Storage>
79  class SeldonDefaultAllocator<Storage, long long>
80  {
81  public:
83  };
84 
85  template<class Storage>
86  class SeldonDefaultAllocator<Storage, float>
87  {
88  public:
90  };
91 
92  template<class Storage>
93  class SeldonDefaultAllocator<Storage, double>
94  {
95  public:
97  };
98 
99  template<class Storage>
100  class SeldonDefaultAllocator<Storage, long double>
101  {
102  public:
104  };
105 
106  template<class Storage>
107  class SeldonDefaultAllocator<Storage, complex<float> >
108  {
109  public:
111  };
112 
113  template<class Storage>
114  class SeldonDefaultAllocator<Storage, complex<double> >
115  {
116  public:
118  };
119 
120  template<class Storage>
121  class SeldonDefaultAllocator<Storage, complex<long double> >
122  {
123  public:
125  };
126 
127 }
128 
129 #define SELDON_FILE_DEFAULT_ALLOCATOR_HXX
130 #endif
Seldon::SeldonDefaultAllocator
Selection of default allocator depending on storage and value type.
Definition: Allocator.hxx:174
Seldon::MallocAlloc
Definition: Allocator.hxx:32
Seldon
Seldon namespace.
Definition: Array.cxx:24