Ignition Physics

API Reference

1.2.0
Link< PolicyT, FeaturesT > Class Template Reference

#include <FeatureList.hh>

Public Types

using Base = Entity< PolicyT, FeaturesT >
 
using Identifier = detail::LinkIdentifier
 
using UpcastIdentifiers = std::tuple< detail::LinkIdentifier >
 
- Public Types inherited from Entity< PolicyT, FeaturesT >
using Features = FeaturesT
 
using Pimpl = typename detail::DeterminePlugin< Policy, Features >::type
 
using Policy = PolicyT
 

Public Member Functions

 Link (const Link &)=default
 
 Link (std::shared_ptr< typename Base::Pimpl > &&_pimpl, const Identity &_identity)
 
 Link (const std::shared_ptr< typename Base::Pimpl > &_pimpl, const Identity &_identity)
 
- Public Member Functions inherited from Entity< PolicyT, FeaturesT >
virtual ~Entity ()=default
 Virtual destructor. More...
 
std::size_t EntityID () const
 Get the unique ID value of this Entity. More...
 
const std::shared_ptr< void > & EntityReference () const
 Get a reference-counting std::shared_ptr to the object inside the implementation that this object provides an abstraction for. More...
 
const IdentityFullIdentity () const
 Get the Identity object of this Entity. More...
 
template<typename FeatureT >
const FeatureT::template Implementation< Policy > * Interface () const
 

Additional Inherited Members

- Protected Member Functions inherited from Entity< PolicyT, FeaturesT >
 Entity (const std::shared_ptr< Pimpl > &_pimpl=nullptr, const Identity &_identity=Identity())
 Constructor for the Entity. More...
 
 Entity (std::shared_ptr< Pimpl > &&_pimpl, const Identity &_identity)
 Constructor that allows the pimpl to be moved instead of copied. More...
 
template<typename FeatureT >
FeatureT::template Implementation< Policy > * Interface ()
 Get a pointer to the implementation of FeatureT. More...
 
template<typename F >
const F::template Implementation< Policy > * Interface () const
 Same as Interface(), but const-qualified so that const entities can request const-qualified interfaces from the implementation. More...
 
- Protected Attributes inherited from Entity< PolicyT, FeaturesT >
Identity identity
 This field contains information to identify the entity. More...
 
std::shared_ptr< Pimplpimpl
 This is a pointer to the physics engine implementation, and it can be used by the object features to find the interfaces that they need in order to function. More...
 

Member Typedef Documentation

◆ Base

using Base = Entity<PolicyT, FeaturesT>

◆ Identifier

using Identifier = detail:: LinkIdentifier

◆ UpcastIdentifiers

using UpcastIdentifiers = std::tuple<detail:: LinkIdentifier>

Constructor & Destructor Documentation

◆ Link() [1/3]

Link ( const Link< PolicyT, FeaturesT > &  )
default

◆ Link() [2/3]

Link ( const std::shared_ptr< typename Base::Pimpl > &  _pimpl,
const Identity _identity 
)
inline

◆ Link() [3/3]

Link ( std::shared_ptr< typename Base::Pimpl > &&  _pimpl,
const Identity _identity 
)
inline

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