Represents a single group. A group has a name and zero or more users. Users are tracked by name. More...
#include <Mediator_Group_Classes.h>

Public Member Functions | |
| Group () | |
| Default constructor.   | |
| Group (std::string name) | |
| Constructor.   | |
| std::string | Name () | 
| The name of the group (read-only).   | |
| StringList | Users () const | 
| The names of users in this group (read-only).   | |
| bool | ContainsUser (std::string name) | 
| Determine if the specified user is in this group. This is a case- sensitive search.   | |
| void | AddUser (std::string name) | 
| Add the specified user to this group. If the user is already in the group, the operation is ignored.   | |
| void | RemoveUser (std::string name) | 
| Remove a user from this group. If the user is not in the group then the operation is ignored.   | |
| bool | Equals (const Group &group) const | 
| Determine if the name of the specified group matches this Group's name.   | |
| bool | Equals (const std::string &name) const | 
| Determine if the given name matches this Group's name.   | |
Private Member Functions | |
| StringList::iterator | _SearchForUser (const std::string &name) | 
| Get an iterator pointing to the user with the specified name. Returns std::end(_users) if the user was not found with that name.   | |
Private Attributes | |
| std::string | _groupName | 
| Name of this group.   | |
| StringList | _users | 
| The list of users in this group.   | |
Represents a single group. A group has a name and zero or more users. Users are tracked by name.
Definition at line 26 of file Mediator_Group_Classes.h.
      
  | 
  inline | 
Default constructor.
Definition at line 52 of file Mediator_Group_Classes.h.
      
  | 
  inline | 
Constructor.
| name | Name of the group to use. | 
Definition at line 59 of file Mediator_Group_Classes.h.
      
  | 
  inlineprivate | 
Get an iterator pointing to the user with the specified name. Returns std::end(_users) if the user was not found with that name.
Definition at line 43 of file Mediator_Group_Classes.h.
References Group::_users.
Referenced by UserList::FindUser(), and UserList::RemoveUser().
      
  | 
  inline | 
Add the specified user to this group. If the user is already in the group, the operation is ignored.
| name | Name of the user to add. Cannot be null or empty. | 
| ArgumentNullException | The 'name' parameter must specify a user name. | 
Definition at line 98 of file Mediator_Group_Classes.h.
References Group::_users, and Group::ContainsUser().
Referenced by UserGroupMediator::AddUserToGroup().
      
  | 
  inline | 
Determine if the specified user is in this group. This is a case- sensitive search.
| name | Name of the user to look for. | 
Definition at line 86 of file Mediator_Group_Classes.h.
References Group::_users.
Referenced by Group::AddUser(), UserGroupMediator::GetGroupsWithUser(), UserGroupMediator::IsUserInGroup(), Group::RemoveUser(), and UserGroupMediator::RemoveUserFromAllGroups().
      
  | 
  inline | 
Determine if the name of the specified group matches this Group's name.
| group | A Group with which to compare names. | 
Definition at line 133 of file Mediator_Group_Classes.h.
References Group::_groupName.
Referenced by GroupList::_SearchForGroup().
      
  | 
  inline | 
Determine if the given name matches this Group's name.
| name | A string containing the name of the Group. | 
Definition at line 143 of file Mediator_Group_Classes.h.
References Group::_groupName.
      
  | 
  inline | 
The name of the group (read-only).
Definition at line 67 of file Mediator_Group_Classes.h.
References Group::_groupName.
Referenced by Visitor_Shop::PickupOrder(), Visitor_Shop::PlaceOrder(), and EntryInformation::ToString().
      
  | 
  inline | 
Remove a user from this group. If the user is not in the group then the operation is ignored.
| name | The name of the user to remove. | 
Definition at line 118 of file Mediator_Group_Classes.h.
References Group::_users.
Referenced by UserGroupMediator::RemoveUserFromAllGroups(), and UserGroupMediator::RemoveUserFromGroup().
      
  | 
  inline | 
The names of users in this group (read-only).
Definition at line 75 of file Mediator_Group_Classes.h.
References Group::_users.
Referenced by UserGroupMediator::GetUsersInGroup().
      
  | 
  private | 
Name of this group.
Definition at line 32 of file Mediator_Group_Classes.h.
Referenced by Group::__eq__(), Group::Equals(), and Group::Name().
      
  | 
  private | 
The list of users in this group.
Definition at line 37 of file Mediator_Group_Classes.h.
Referenced by Group::_SearchForUser(), UserList::_SearchForUser(), UserList::AddUser(), Group::AddUser(), Group::ContainsUser(), UserList::FindUser(), UserList::RemoveUser(), Group::RemoveUser(), UserList::UserNames(), and Group::Users().