Vita
common.h
Go to the documentation of this file.
1
13#if !defined(VITA_COMMON_H)
14#define VITA_COMMON_H
15
16// This file must be kept small! Avoid the One Big Header File C/C++
17// anti-pattern (and its lack of modularity).
18// Just put here:
19// - `#include`s that address portability issues or workarounds for broken
20// headers;
21// - conditional-compilation macros and instructions that affect the whole
22// codebase;
23// - any other definitions that **really** are needed in every compilation
24// unit.
25// See also <http://c2.com/cgi/wiki?OneBigHeaderFile>.
26
27#include <cassert>
28#include <cstdint>
29#include <memory>
30#include <vector>
31
33#include "utility/contracts.h"
34
35namespace vita
36{
44using category_t = std::size_t;
45constexpr category_t undefined_category = static_cast<category_t>(-1);
46using cvect = std::vector<category_t>; // often used so we define a shortcut
47
48using terminal_param_t = double;
49
57#define DISALLOW_COPY_AND_ASSIGN(Class) \
58 Class(const Class &) = delete; \
59 Class &operator=(const Class &) = delete
60} // namespace vita
61
62#endif // include guard
The main namespace for the project.
std::size_t category_t
A category provide operations which supplement or supersede those of the domain but which are restric...
Definition: common.h:44