This file is indexed.

/usr/include/mia-2.2/mia/core/attributetype.hh is in libmia-2.2-dev 2.2.2-1+b1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
/* -*- mia-c++  -*-
 *
 * This file is part of MIA - a toolbox for medical image analysis 
 * Copyright (c) Leipzig, Madrid 1999-2014 Gert Wollny
 *
 * MIA is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with MIA; if not, see <http://www.gnu.org/licenses/>.
 *
 */

#ifndef mia_core_attributetype_hh
#define mia_core_attributetype_hh

#include <vector>
#include <mia/core/defines.hh>
#include <miaconfig.h>


NS_MIA_BEGIN

struct EAttributeType {
        static const int attr_unknown =    0; 
        static const int attr_bool    =    1; 
        static const int attr_uchar   =    2; 
        static const int attr_schar   =    3; 
        static const int attr_ushort  =    4; 
        static const int attr_sshort  =    5; 
        static const int attr_uint    =    6; 
        static const int attr_sint    =    7; 
        static const int attr_ulong   =    8; 
        static const int attr_slong   =    9; 
        static const int attr_float   =   10; 
        static const int attr_double  =   11; 
        static const int attr_string  =   12; 

        static const int vector_bit = 0x80000000; 

        static int scalar_type(int type) {
                return type & scalar_mask; 
        }; 

        static bool is_vector(int type) {
                return type & vector_bit; 
        }

private: 
        static const int scalar_mask  =0x7FFFFFFF; 

}; 

template <typename T> 
struct attribute_type : public EAttributeType { 
        static const int value = EAttributeType::attr_unknown;
}; 

#define ATTR_TYPEID(T, ID)                                      \
        template <>                                             \
        struct attribute_type<T> : public EAttributeType{       \
                static const int value = ID;  \
        };

ATTR_TYPEID(bool, attr_bool); 
ATTR_TYPEID(unsigned char, attr_uchar); 
ATTR_TYPEID(signed char, attr_schar); 

ATTR_TYPEID(unsigned short, attr_ushort); 
ATTR_TYPEID(signed short, attr_sshort); 

ATTR_TYPEID(unsigned int, attr_uint); 
ATTR_TYPEID(signed int, attr_sint); 

#ifdef LONG_64BIT
ATTR_TYPEID(unsigned long, attr_ulong); 
ATTR_TYPEID(signed long, attr_slong); 
#endif

ATTR_TYPEID(float, attr_float); 
ATTR_TYPEID(double, attr_double); 

ATTR_TYPEID(std::string, attr_string); 

#undef ATTR_TYPEID

template <typename T> 
struct attribute_type<std::vector<T>> : public EAttributeType{
        static const int value = attribute_type<T>::value | EAttributeType::vector_bit;
}; 

NS_MIA_END
        
#endif