//===-- rosa/agent/Functionality.h ------------------------------*- C++ -*-===//
//
//                                 The RoSA Framework
//
// Distributed under the terms and conditions of the Boost Software License 1.0.
// See accompanying file LICENSE.
//
// If you did not receive a copy of the license file, see
// http://www.boost.org/LICENSE_1_0.txt.
//
//===----------------------------------------------------------------------===//
///
/// \file rosa/agent/Functionality.h
///
/// \author David Juhasz (david.juhasz@tuwien.ac.at)
///
/// \date 2017
///
/// \brief Declaration of `rosa::Functionality` base-class.
///
//===----------------------------------------------------------------------===//

#ifndef ROSA_AGENT_FUNCTIONALITY_H
#define ROSA_AGENT_FUNCTIONALITY_H

namespace rosa {
namespace agent {

/// Base class for actual *functionalities* that implement various concepts of
/// self-awareness and are supposed to be used in implementing *agents*.
class Functionality {
public:
  Functionality(void) noexcept = default;
  virtual ~Functionality(void) = default;
};

} // End namespace agent
} // End namespace rosa

#endif // ROSA_AGENT_FUNCTIONALITY_H
