The Battle for Wesnoth  1.15.1+dev
Public Types | Public Member Functions | Private Attributes | List of all members
recall_list_manager Class Reference

#include <recall_list_manager.hpp>

Public Types

typedef std::vector< unit_ptr >::iterator iterator
 
typedef std::vector< unit_ptr >::const_iterator const_iterator
 

Public Member Functions

iterator begin ()
 begin iterator More...
 
iterator end ()
 end iterator More...
 
const_iterator begin () const
 begin const iterator More...
 
const_iterator end () const
 end const iterator More...
 
unit_ptr operator[] (std::size_t index)
 vector style dereference More...
 
unit_const_ptr operator[] (std::size_t index) const
 vector style dereference More...
 
unit_ptr find_if_matches_id (const std::string &unit_id)
 Find a unit by id. More...
 
unit_ptr extract_if_matches_id (const std::string &unit_id, int *pos=nullptr)
 Find a unit by id, and extract from this object if found. More...
 
unit_const_ptr find_if_matches_id (const std::string &unit_id) const
 Const find by id. More...
 
void erase_if_matches_id (const std::string &unit_id)
 Erase any unit with this id. More...
 
unit_ptr find_if_matches_underlying_id (std::size_t uid)
 Find a unit by underlying id. Null pointer if not found. More...
 
unit_ptr extract_if_matches_underlying_id (std::size_t uid)
 Find a unit by underlying id, and extract if found. Null if not found. More...
 
unit_const_ptr find_if_matches_underlying_id (std::size_t uid) const
 Const find by underlying id. More...
 
void erase_by_underlying_id (std::size_t uid)
 Erase any unit with this underlying id. More...
 
iterator erase_index (std::size_t index)
 Erase by index. More...
 
iterator erase (iterator it)
 Erase an iterator to this object. More...
 
std::size_t find_index (const std::string &unit_id) const
 Find the index of a unit by its id. More...
 
std::size_t size () const
 Get the number of units on the list. More...
 
bool empty () const
 Is it empty? More...
 
void add (const unit_ptr &ptr, int pos=-1)
 Add a unit to the list. More...
 

Private Attributes

std::vector< unit_ptrrecall_list_
 The underlying data struture. TODO: Should this be a map based on underlying id instead? More...
 

Detailed Description

Definition at line 28 of file recall_list_manager.hpp.

Member Typedef Documentation

◆ const_iterator

Definition at line 31 of file recall_list_manager.hpp.

◆ iterator

Definition at line 30 of file recall_list_manager.hpp.

Member Function Documentation

◆ add()

void recall_list_manager::add ( const unit_ptr ptr,
int  pos = -1 
)

Add a unit to the list.

pos the location where to insert the unit, -1 for 'at end'

Definition at line 63 of file recall_list_manager.cpp.

References recall_list_.

Referenced by unit_creator::add_unit(), BOOST_AUTO_TEST_CASE(), team_builder::handle_unit(), game_lua_kernel::intf_put_recall_unit(), actions::undo::recall_action::undo(), and actions::undo::dismiss_action::undo().

◆ begin() [1/2]

iterator recall_list_manager::begin ( )
inline

◆ begin() [2/2]

const_iterator recall_list_manager::begin ( ) const
inline

begin const iterator

Definition at line 36 of file recall_list_manager.hpp.

◆ empty()

bool recall_list_manager::empty ( ) const
inline

Is it empty?

Definition at line 59 of file recall_list_manager.hpp.

Referenced by events::menu_handler::recall().

◆ end() [1/2]

iterator recall_list_manager::end ( )
inline

◆ end() [2/2]

const_iterator recall_list_manager::end ( ) const
inline

end const iterator

Definition at line 37 of file recall_list_manager.hpp.

◆ erase()

std::vector< unit_ptr >::iterator recall_list_manager::erase ( iterator  it)

Erase an iterator to this object.

Definition at line 144 of file recall_list_manager.cpp.

References recall_list_.

Referenced by game_events::WML_HANDLER_FUNCTION().

◆ erase_by_underlying_id()

void recall_list_manager::erase_by_underlying_id ( std::size_t  uid)

Erase any unit with this underlying id.

Definition at line 119 of file recall_list_manager.cpp.

References recall_list_.

Referenced by game_lua_kernel::intf_put_recall_unit().

◆ erase_if_matches_id()

void recall_list_manager::erase_if_matches_id ( const std::string &  unit_id)

Erase any unit with this id.

Used to erase units from vectors by their ID.

Definition at line 56 of file recall_list_manager.cpp.

References recall_list_.

Referenced by unit_creator::add_unit(), BOOST_AUTO_TEST_CASE(), game_lua_kernel::intf_erase_unit(), game_lua_kernel::intf_extract_unit(), and SYNCED_COMMAND_HANDLER_FUNCTION().

◆ erase_index()

std::vector< unit_ptr >::iterator recall_list_manager::erase_index ( std::size_t  index)

Erase by index.

Definition at line 139 of file recall_list_manager.cpp.

References recall_list_.

◆ extract_if_matches_id()

unit_ptr recall_list_manager::extract_if_matches_id ( const std::string &  unit_id,
int *  pos = nullptr 
)

Find a unit by id, and extract from this object if found.

Null if not found. pos an output paramter, to know in which position the unit was.

Definition at line 81 of file recall_list_manager.cpp.

References recall_list_.

Referenced by actions::recall_unit(), and ai::simulated_recall().

◆ extract_if_matches_underlying_id()

unit_ptr recall_list_manager::extract_if_matches_underlying_id ( std::size_t  uid)

Find a unit by underlying id, and extract if found. Null if not found.

Definition at line 126 of file recall_list_manager.cpp.

References recall_list_.

Referenced by lua_unit::put_map().

◆ find_if_matches_id() [1/2]

unit_ptr recall_list_manager::find_if_matches_id ( const std::string &  unit_id)

Find a unit by id.

Used to find units in vectors by their ID.

Null pointer if not found.

Definition at line 28 of file recall_list_manager.cpp.

References recall_list_.

Referenced by unit_creator::add_unit(), BOOST_AUTO_TEST_CASE(), gui2::dialogs::unit_recall::dismiss_unit(), ai::recall_result::get_recall_unit(), and SYNCED_COMMAND_HANDLER_FUNCTION().

◆ find_if_matches_id() [2/2]

unit_const_ptr recall_list_manager::find_if_matches_id ( const std::string &  unit_id) const

Const find by id.

Used to find units in vectors by their ID.

Definition at line 42 of file recall_list_manager.cpp.

References recall_list_.

◆ find_if_matches_underlying_id() [1/2]

unit_ptr recall_list_manager::find_if_matches_underlying_id ( std::size_t  uid)

Find a unit by underlying id. Null pointer if not found.

Definition at line 97 of file recall_list_manager.cpp.

References recall_list_.

Referenced by lua_unit::get(), and lua_unit::get_shared().

◆ find_if_matches_underlying_id() [2/2]

unit_const_ptr recall_list_manager::find_if_matches_underlying_id ( std::size_t  uid) const

Const find by underlying id.

Definition at line 108 of file recall_list_manager.cpp.

References recall_list_.

◆ find_index()

std::size_t recall_list_manager::find_index ( const std::string &  unit_id) const

Find the index of a unit by its id.

Definition at line 73 of file recall_list_manager.cpp.

References recall_list_.

Referenced by actions::get_recalls(), actions::get_recruits(), game_lua_kernel::intf_match_unit(), and side_filter::match_internal().

◆ operator[]() [1/2]

unit_ptr recall_list_manager::operator[] ( std::size_t  index)
inline

vector style dereference

Definition at line 39 of file recall_list_manager.hpp.

References utf8::index().

◆ operator[]() [2/2]

unit_const_ptr recall_list_manager::operator[] ( std::size_t  index) const
inline

vector style dereference

Definition at line 40 of file recall_list_manager.hpp.

References preferences::erase(), and utf8::index().

◆ size()

std::size_t recall_list_manager::size ( ) const
inline

Get the number of units on the list.

Definition at line 58 of file recall_list_manager.hpp.

Referenced by BOOST_AUTO_TEST_CASE(), game_events::builtin_conditions::have_unit(), and SYNCED_COMMAND_HANDLER_FUNCTION().

Member Data Documentation

◆ recall_list_

std::vector<unit_ptr > recall_list_manager::recall_list_
private

The underlying data struture. TODO: Should this be a map based on underlying id instead?

Definition at line 66 of file recall_list_manager.hpp.

Referenced by add(), erase(), erase_by_underlying_id(), erase_if_matches_id(), erase_index(), extract_if_matches_id(), extract_if_matches_underlying_id(), find_if_matches_id(), find_if_matches_underlying_id(), and find_index().


The documentation for this class was generated from the following files: