diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/action.cpp | 12 | ||||
-rw-r--r-- | common/action.h | 6 |
2 files changed, 18 insertions, 0 deletions
diff --git a/common/action.cpp b/common/action.cpp index 188535e..58b7392 100644 --- a/common/action.cpp +++ b/common/action.cpp @@ -1,10 +1,22 @@ #include "action.h" #include <algorithm> +Action::Action() { + +} + +Action::Action(Type ty, int ta) : type(ty), target(ta) { + +} + bool Action::operator==(const Action& other) { return type == other.type && target == other.target; } +Actions::operator bool() { + return !empty(); +} + bool Actions::contains(Action action) { return std::find(begin(), end(), action) != end(); } diff --git a/common/action.h b/common/action.h index a2dc6e4..4024c67 100644 --- a/common/action.h +++ b/common/action.h @@ -25,6 +25,9 @@ class Action { //! Target of action (if applicable). int target; + Action(); + Action(Type ty, int ta = 0); + //! Compare to another action. bool operator==(const Action& other); @@ -41,6 +44,9 @@ class Actions : public std::vector<Action> { //! Check if specified action is present in list. bool contains(Action action); + //! Check whether list is empty or not. + operator bool(); + template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & boost::serialization::base_object<std::vector<Action> >(*this); |