#pragma once
#include "DynamicLocation.h"

class PersistentUnitGroup;

/**
 * @brief Dynamic location evolving with respect to a particular group of units
 *        (the units in the group may change as well).
 */
class GroupDynamicLocation : public DynamicLocation
{
public:
  GroupDynamicLocation(const PersistentUnitGroup* group)
    : m_group(group)
  {
  }

  const PersistentUnitGroup* getGroup() const
  {
    return m_group;
  }

protected:
  const PersistentUnitGroup* const m_group;

private:
  //const member prevent the use of the assigment operator
  GroupDynamicLocation& operator=(const GroupDynamicLocation&);
};