types.h
1 #pragma once
2 
3 #include <memory> // std::shared_ptr
4 #include <string> // std::string
5 #include <vector> // std::vector
6 
7 #include <gsl/gsl-lite.hpp>
8 #include <morphio/enums.h>
9 #include <morphio/exceptions.h>
10 #include <morphio/vector_types.h>
11 
12 
14 namespace morphio {
15 
16 using namespace enums;
17 class EndoplasmicReticulum;
18 class MitoSection;
19 class Mitochondria;
20 class Morphology;
21 class Section;
22 template <class T>
23 class SectionBase;
24 class Soma;
25 
26 namespace Property {
27 struct Properties;
28 }
29 
30 namespace vasculature {
31 class Section;
32 class Vasculature;
33 } // namespace vasculature
34 
35 namespace readers {
36 struct DebugInfo;
37 class ErrorMessages;
38 } // namespace readers
39 
40 namespace mut {
41 class EndoplasmicReticulum;
42 class MitoSection;
43 class Mitochondria;
44 class Morphology;
45 class Section;
46 class Soma;
47 } // namespace mut
48 
49 using SectionRange = std::pair<size_t, size_t>;
50 
51 // A tuple (file format (std::string), major version, minor version)
52 using MorphologyVersion = std::tuple<std::string, uint32_t, uint32_t>;
53 
54 template <typename T>
55 using range = gsl::span<T>;
56 
57 } // namespace morphio
Definition: endoplasmic_reticulum.h:5