Utopia 2
Framework for studying models of complex & adaptive systems.
|
Interface definitions and utility functions for building models. More...
Modules | |
Rules on Entities | |
Algorithms for conveniently applying function objects on entities. | |
Output Logging | |
Utility functions for all logging output based on the spdlog backend. | |
Model | |
The Model framework is the foundation for your future model. | |
CellManager | |
An interface to build and use cellular automata. | |
AgentManager | |
An interface for agent-based models. | |
Entity | |
The base class for managed entities, e.g. cells or agents. | |
Iteration Utilities | |
Collection of classes and functions for custom iteration over ranges. | |
Test Tools | |
Gathers useful tools for writing tests in the Boost.Test framework. | |
Metaprogramming and type restrictions | |
Metafunctions to classify types, in order to be able to restrict template parameters, and some other helpers for type computation. | |
Output stream operators | |
Pretty-print types like containers, tuples and various others to std::ostream or std::ofstream. To use them, put a using Utopia::Utils::operator<< before the first call. Then you can do std::cout << many << funny << things << std::endl; as always. | |
Multithreading | |
Facilities for parallel execution based on runtime configuration. | |
Entity Selection | |
An interface to select a subset of entities from a manager. | |
Interface definitions and utility functions for building models.
Core contains the main structures for building and running models. Most importantly, it defines the Model base interface every model needs to implement in order to be used within Utopia.