cartobase 6.0.6
datatypeinfo.h
Go to the documentation of this file.
1/* This software and supporting documentation are distributed by
2* Institut Federatif de Recherche 49
3* CEA/NeuroSpin, Batiment 145,
4* 91191 Gif-sur-Yvette cedex
5* France
6*
7* This software is governed by the CeCILL-B license under
8* French law and abiding by the rules of distribution of free software.
9* You can use, modify and/or redistribute the software under the
10* terms of the CeCILL-B license as circulated by CEA, CNRS
11* and INRIA at the following URL "http://www.cecill.info".
12*
13* As a counterpart to the access to the source code and rights to copy,
14* modify and redistribute granted by the license, users are provided only
15* with a limited warranty and the software's author, the holder of the
16* economic rights, and the successive licensors have only limited
17* liability.
18*
19* In this respect, the user's attention is drawn to the risks associated
20* with loading, using, modifying and/or developing or reproducing the
21* software by the user in light of its specific status of free software,
22* that may mean that it is complicated to manipulate, and that also
23* therefore means that it is reserved for developers and experienced
24* professionals having in-depth computer knowledge. Users are therefore
25* encouraged to load and test the software's suitability as regards their
26* requirements in conditions enabling the security of their systems and/or
27* data to be ensured and, more generally, to use and operate it in the
28* same conditions as regards security.
29*
30* The fact that you are presently reading this means that you have had
31* knowledge of the CeCILL-B license and that you accept its terms.
32*/
33
34#ifndef CARTOBASE_TYPE_DATATYPEINFO_H
35#define CARTOBASE_TYPE_DATATYPEINFO_H
36
37//--- cartobase --------------------------------------------------------------
41
50template<class DataType>
52{
53 public :
54
56
60 static inline uint8_t samples();
61
65 static inline uint8_t depth();
66
70 static inline const std::string channelType();
71};
72
73
74// Base type definitions
75template<class DataType>
80
81template<class DataType>
83{
84 return sizeof(DataType) / DataTypeTraitsType::channelcount;
85}
86
87template<class DataType>
92
93#endif
DataTypeInfo class is a hint to access data type information.
static uint8_t samples()
Number of channels for the DataType.
static uint8_t depth()
Depth of channels for the DataType.
static const std::string channelType()
std::string that represents the channel type for the DataType
carto::DataTypeTraits< DataType > DataTypeTraitsType
static std::string dataType()
Definition types.h:230
Properties of data types.
static const unsigned int channelcount