18#pragma warning(disable:4583)
19#pragma warning(disable:4582)
20#include <boost/variant2/variant.hpp>
23#include <boost/variant2/variant.hpp>
54 if (
_value.index() == 0u) {
58 return boost::variant2::get<SharedPtr<client::Actor>>(
_value);
82 return !(*
this == rhs);
93 return actor->Serialize();
101 mutable boost::variant2::variant<rpc::Actor, SharedPtr<client::Actor>>
_value;
#define DEBUG_ASSERT(predicate)
bool operator==(ActorVariant rhs) const
void MakeActor(EpisodeProxy episode) const
bool operator!=(ActorVariant rhs) const
const rpc::Actor & Serialize() const
ActorVariant(SharedPtr< client::Actor > actor)
boost::variant2::variant< rpc::Actor, SharedPtr< client::Actor > > _value
ActorId GetParentId() const
ActorVariant & operator=(SharedPtr< client::Actor > actor)
ActorVariant & operator=(rpc::Actor actor)
const std::string & GetTypeId() const
ActorVariant(rpc::Actor actor)
SharedPtr< client::Actor > Get(EpisodeProxy episode) const
ActorDescription description
carla::ActorId ActorId
参与者的智能指针类型
boost::shared_ptr< T > SharedPtr
使用这个SharedPtr(boost::shared_ptr)以保持与boost::python的兼容性, 但未来如果可能的话,我们希望能为std::shared_ptr制作一个Python适配器。
const rpc::Actor & operator()(const SharedPtr< const client::Actor > &actor) const
const rpc::Actor & operator()(const rpc::Actor &actor) const