11#include <boost/iterator/transform_iterator.hpp>
23 template <
typename It>
25 return boost::make_transform_iterator(it, [
this](
auto &v) {
76 std::vector<detail::ActorVariant>
_actors;
SharedPtr< Actor > at(size_t pos) const
提供 at() 函数用于安全访问指定位置的参与者,支持边界检查。
std::vector< detail::ActorVariant > _actors
auto begin() const
返回指向列表中第一个元素的迭代器。
auto MakeIterator(It it) const
SharedPtr< Actor > operator[](size_t pos) const
重载 [] 运算符,返回指定位置的参与者(Actor)。
SharedPtr< ActorList > Filter(const std::string &wildcard_pattern) const
根据提供的通配符模式(wildcard_pattern)过滤符合条件的参与者列表。
auto end() const
返回指向列表中最后一个元素后一个位置的迭代器。
detail::EpisodeProxy _episode
SharedPtr< Actor > Find(ActorId actor_id) const
根据指定的 actor_id 查找对应的参与者(Actor)。
size_t size() const
返回列表中包含的参与者数量。
bool empty() const
检查列表是否为空。
ActorList(detail::EpisodeProxy episode, std::vector< rpc::Actor > actors)
carla::ActorId ActorId
参与者的智能指针类型
boost::shared_ptr< T > SharedPtr
使用这个SharedPtr(boost::shared_ptr)以保持与boost::python的兼容性, 但未来如果可能的话,我们希望能为std::shared_ptr制作一个Python适配器。