Utopia  2
Framework for studying models of complex & adaptive systems.
Modules
Here is a list of all modules:
[detail level 123]
 CoreInterface definitions and utility functions for building models
 Rules on EntitiesAlgorithms for conveniently applying function objects on entities
 Output LoggingUtility functions for all logging output based on the spdlog backend
 ModelThe Model framework is the foundation for your future model
 CellManagerAn interface to build and use cellular automata
 AgentManagerAn interface for agent-based models
 EntityThe base class for managed entities, e.g. cells or agents
 GraphEntity
 Iteration UtilitiesCollection of classes and functions for custom iteration over ranges
 Test ToolsGathers useful tools for writing tests in the Boost.Test framework
 Metaprogramming and type restrictionsMetafunctions to classify types, in order to be able to restrict template parameters, and some other helpers for type computation
 Output stream operatorsPretty-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
 MultithreadingFacilities for parallel execution based on runtime configuration
 STL Algorithm OverloadsOverloads for selecting execution policies at runtime
 Entity SelectionAn interface to select a subset of entities from a manager
 DataIOWriting data, reading configuration files, and reporting data to the Python frontend
 DataManagerHigh-level interface for data writing
 DefaultsProvides default implementations for the datamanager's requirements
 UtilitiesProvides a number of helper functions for the datamanager class
 FactoriesProvides a Functor for producing writetasks and a function for producing a datamanager using that functor. Exists for simplifying creation of default datamanagers for model builders
 WriteTaskProvides a class which encapsulates the process of acquiring resources to write data to, writing data to that resource, and handling meta information
 Graph UtilitiesProvides functions which wrap common tasks for writing out data from graphs
 Chunking UtilitiesProvides algorithms for automatically optimize the chunksize in which data is written to the hard disk when writing compressed or extendable hdf5 files
 HDF5Low-level interface for using HDF5 with modern C++ and STL
 MonitorInterface for monitoring custom quantities for a simulation via standard out
 Config UtilitiesAllows reading configuration entries from YAML files
 Filesystem
 ModelsModels implemented in Utopia
 EnvironmentThe environment model provides a collection of parameter functions designed for coupling to other models
 Graph
 Rules on EntitiesAlgorithms for conveniently applying function objects on entities
 GraphEntity
 GraphIterators