![]() |
fpmas 1.6
|
#include "hedley/hedley.h"
#include <functional>
#include <nlohmann/json.hpp>
#include <mpi.h>
#include <climits>
#include <type_traits>
Go to the source code of this file.
Classes | |
struct | fpmas::api::communication::MpiDistributedId |
class | fpmas::api::graph::DistributedId |
struct | std::hash< DistributedId > |
struct | nlohmann::adl_serializer< DistributedId > |
Namespaces | |
namespace | fpmas |
namespace | fpmas::api |
namespace | fpmas::api::graph |
namespace | fpmas::api::communication |
namespace | nlohmann |
Macros | |
#define | FPMAS_ID_TYPE std::uint_fast32_t |
Functions | |
std::ostream & | fpmas::api::graph::operator<< (std::ostream &os, const DistributedId &id) |
std::string | fpmas::to_string (const api::graph::DistributedId &id) |
DistributedId implementation.
#define FPMAS_ID_TYPE std::uint_fast32_t |
Type used to represent the "id" part of an fpmas::api::graph::DistributedId.
This type defines the maximum count of Nodes and Edges that might be created during a single simulation. (e.g. 65535 for a 16 bit unsigned integer)
It can be user defined at compile time using cmake -DFPMAS_ID_TYPE=<unsigned integer type> ..
By default, the std::uint_fast32_t
type is used, that can be 32 or 64 bit depending on the fastest unsigned integer type of at least 32 bits that can be processed by the current system.
Any unsigned integer type can be specified. The std::uintN_t like types defined in the C++ standard can notably be used to fix the FPMAS_ID_TYPE size independently of the underlying system.
FPMAS currently supports 16, 32 and 64 unsigned integer types.