CARLA
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
carla::client::detail::ActorVariant Class Reference

Holds an Actor, but only instantiates it when needed. More...

#include <ActorVariant.h>

Classes

struct  Visitor
 

Public Member Functions

 ActorVariant (rpc::Actor actor)
 
 ActorVariant (SharedPtr< client::Actor > actor)
 
SharedPtr< client::Actor > Get (EpisodeProxy episode) const
 
ActorId GetId () const
 
ActorId GetParentId () const
 
const std::string & GetTypeId () const
 
bool operator!= (ActorVariant rhs) const
 
ActorVariant & operator= (rpc::Actor actor)
 
ActorVariant & operator= (SharedPtr< client::Actor > actor)
 
bool operator== (ActorVariant rhs) const
 
const rpc::Actor & Serialize () const
 

Private Member Functions

void MakeActor (EpisodeProxy episode) const
 

Private Attributes

std::variant< rpc::Actor, SharedPtr< client::Actor > > _value
 

Detailed Description

Holds an Actor, but only instantiates it when needed.

Definition at line 30 of file ActorVariant.h.

Constructor & Destructor Documentation

◆ ActorVariant() [1/2]

carla::client::detail::ActorVariant::ActorVariant ( rpc::Actor  actor)
inline

Definition at line 33 of file ActorVariant.h.

◆ ActorVariant() [2/2]

carla::client::detail::ActorVariant::ActorVariant ( SharedPtr< client::Actor >  actor)
inline

Definition at line 36 of file ActorVariant.h.

Member Function Documentation

◆ Get()

SharedPtr< client::Actor > carla::client::detail::ActorVariant::Get ( EpisodeProxy  episode) const
inline

◆ GetId()

ActorId carla::client::detail::ActorVariant::GetId ( ) const
inline

Definition at line 61 of file ActorVariant.h.

References carla::rpc::Actor::id, and Serialize().

Referenced by operator==().

◆ GetParentId()

ActorId carla::client::detail::ActorVariant::GetParentId ( ) const
inline

Definition at line 65 of file ActorVariant.h.

References carla::rpc::Actor::parent_id, and Serialize().

◆ GetTypeId()

const std::string & carla::client::detail::ActorVariant::GetTypeId ( ) const
inline

◆ MakeActor()

void carla::client::detail::ActorVariant::MakeActor ( EpisodeProxy  episode) const
private

Definition at line 16 of file ActorVariant.cpp.

References _value, carla::client::Disabled, and carla::client::detail::ActorFactory::MakeActor().

Referenced by Get().

◆ operator!=()

bool carla::client::detail::ActorVariant::operator!= ( ActorVariant  rhs) const
inline

Definition at line 77 of file ActorVariant.h.

◆ operator=() [1/2]

ActorVariant & carla::client::detail::ActorVariant::operator= ( rpc::Actor  actor)
inline

Definition at line 39 of file ActorVariant.h.

References _value.

◆ operator=() [2/2]

ActorVariant & carla::client::detail::ActorVariant::operator= ( SharedPtr< client::Actor >  actor)
inline

Definition at line 44 of file ActorVariant.h.

References _value.

◆ operator==()

bool carla::client::detail::ActorVariant::operator== ( ActorVariant  rhs) const
inline

Definition at line 73 of file ActorVariant.h.

References GetId().

◆ Serialize()

const rpc::Actor & carla::client::detail::ActorVariant::Serialize ( ) const
inline

Definition at line 57 of file ActorVariant.h.

References _value.

Referenced by GetId(), GetParentId(), and GetTypeId().

Member Data Documentation

◆ _value

std::variant<rpc::Actor, SharedPtr<client::Actor> > carla::client::detail::ActorVariant::_value
mutableprivate

Definition at line 94 of file ActorVariant.h.

Referenced by Get(), MakeActor(), operator=(), operator=(), and Serialize().


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