/*******************************************************************************
 *
 * File:     forward_declarations.h
 *
 * Contents: Necessary forward declarations of types in the Core library.
 *
 * Copyright 2017
 *
 * Author: David Juhasz (david.juhasz@tuwien.ac.at)
 *
 ******************************************************************************/

#ifndef ROSA_CORE_FORWARD_DECLARATIONS_H
#define ROSA_CORE_FORWARD_DECLARATIONS_H

#include <memory>

namespace rosa {

// Forward declarations of classes.
class Agent;
class Message;
class MessagingSystem;
class System;
class Unit;

// Type alias used for Unit identifiers.
using id_t = uint64_t;

// Type of unique pointer for an immutable Message instance.
using message_t = std::unique_ptr<Message>;

} // End namespace rosa

#endif // ROSA_CORE_FORWARD_DECLARATIONS_H

