Develop Biology
The language of life
Types.h
Go to the documentation of this file.
1/*
2 * This file is a part of the Biology project by eons LLC.
3 * Biology (aka Develop Biology) is a framework for approaching software
4 * development from a natural sciences perspective.
5 *
6 * Copyright (C) 2021 Séon O'Shannon & eons LLC
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as
10 * published by the Free Software Foundation, either version 3 of the
11 * License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
22#pragma once
27#if BIO_CPP_VERSION < 11
28
29 #include <stdint.h>
30
31#else
32 #include <cstdint>
33#endif
34
35#include <cstddef> //for NULL
36#include <vector>
37#include <map>
38#include <string>
39#include "ByteStream.h"
40
41namespace bio {
42
46typedef const char* Name;
47typedef std::vector< Name > Names;
48
49typedef std::vector< const char* > CharStrings;
50typedef std::vector< std::string > StdStrings;
51
52typedef std::vector< ByteStream > ByteStreams;
53
57typedef uint32_t Index;
58
63const Index InvalidIndex();
64
68typedef uint32_t Timestamp;
69typedef std::vector< Timestamp > Timestamps;
70
74typedef uint32_t TimeUS;
75
79typedef uint32_t TimeMS;
80
84typedef uint32_t TimeSec;
85
86} //bio namespace
Definition: Cell.h:31
uint32_t Index
Definition: Types.h:57
const char * Name
Definition: Types.h:46
const Index InvalidIndex()
Definition: Types.cpp:26
uint32_t TimeMS
Definition: Types.h:79
std::vector< std::string > StdStrings
Definition: Types.h:50
std::vector< ByteStream > ByteStreams
Definition: Types.h:52
uint32_t TimeSec
Definition: Types.h:84
uint32_t TimeUS
Definition: Types.h:74
std::vector< const char * > CharStrings
Definition: Types.h:49
std::vector< Name > Names
Definition: Types.h:47
std::vector< Timestamp > Timestamps
Definition: Types.h:69
uint32_t Timestamp
Definition: Types.h:68