ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA > Class Template Referenceabstract

#include <NonBondedInteraction.hpp>

+ Inheritance diagram for ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >:
+ Collaboration diagram for ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >:

Public Types

using CoreInteraction = CoreIA
 

Public Member Functions

Variant do_call_method (std::string const &name, VariantMap const &params) override
 
void do_construct (VariantMap const &params) final
 
void attach (std::weak_ptr< NonBondedInteractionHandle * > si_struct, std::weak_ptr<::IA_parameters > core_struct)
 
void update_core (bool notify=true)
 
- Public Member Functions inherited from ScriptInterface::AutoParameters< InteractionPotentialInterface< CoreIA > >
std::span< const boost::string_ref > valid_parameters () const final
 
Variant get_parameter (const std::string &name) const final
 
void do_set_parameter (const std::string &name, const Variant &value) final
 
std::vector< std::pair< std::string, Variant > > serialize_parameters () const final
 
- Public Member Functions inherited from ScriptInterface::ObjectHandle
 ObjectHandle ()=default
 
 ObjectHandle (ObjectHandle const &)=delete
 
ObjectHandleoperator= (ObjectHandle const &)=delete
 
virtual ~ObjectHandle ()=default
 
boost::string_ref name () const
 
Contextcontext () const
 Responsible context.
 
void construct (VariantMap const &params)
 Construct the handled object.
 
VariantMap get_parameters () const
 Get current parameters.
 
auto get_valid_parameters () const
 
void set_parameter (const std::string &name, const Variant &value)
 Set single parameter.
 
Variant call_method (const std::string &name, const VariantMap &params)
 Call a method on the object.
 
std::string serialize () const
 

Protected Types

using BaseClass = AutoParameters< InteractionPotentialInterface< CoreIA > >
 

Protected Member Functions

virtual CoreInteraction IA_parameters::* get_ptr_offset () const =0
 Pointer to the corresponding member in a handle.
 
virtual void make_new_instance (VariantMap const &params)=0
 Create a new instance using the constructor with range checks.
 
virtual std::string inactive_parameter () const
 Which parameter indicates whether the potential is inactive.
 
virtual double inactive_cutoff () const
 Which magic value indicates the potential is inactive.
 
template<typename T >
auto make_autoparameter (T CoreInteraction::*ptr, char const *name)
 
- Protected Member Functions inherited from ScriptInterface::AutoParameters< InteractionPotentialInterface< CoreIA > >
 AutoParameters ()=default
 
 AutoParameters (std::vector< AutoParameter > &&params)
 
void add_parameters (std::vector< AutoParameter > &&params)
 
auto const & get_parameter_insertion_order () const
 

Protected Attributes

std::shared_ptr< CoreInteractionm_handle
 Managed object.
 
std::weak_ptr<::IA_parametersm_core_struct
 Handle to the container whose members have to be synchronized.
 
std::weak_ptr< NonBondedInteractionHandle * > m_si_struct
 Handle to the interface used to synchronize data members.
 
std::weak_ptr< std::function< void()> > m_notify_non_bonded_ia_change
 Callback to notify changes to the interaction range.
 

Additional Inherited Members

- Static Public Member Functions inherited from ScriptInterface::ObjectHandle
static ObjectRef deserialize (const std::string &state, Context &ctx)
 Make object from serialized state.
 

Detailed Description

template<class CoreIA>
class ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >

Definition at line 51 of file NonBondedInteraction.hpp.

Member Typedef Documentation

◆ BaseClass

template<class CoreIA >
using ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::BaseClass = AutoParameters<InteractionPotentialInterface<CoreIA> >
protected

Definition at line 57 of file NonBondedInteraction.hpp.

◆ CoreInteraction

template<class CoreIA >
using ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::CoreInteraction = CoreIA

Definition at line 54 of file NonBondedInteraction.hpp.

Member Function Documentation

◆ attach()

◆ do_call_method()

◆ do_construct()

◆ get_ptr_offset()

◆ inactive_cutoff()

template<class CoreIA >
virtual double ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::inactive_cutoff ( ) const
inlineprotectedvirtual

◆ inactive_parameter()

◆ make_autoparameter()

template<class CoreIA >
template<typename T >
auto ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::make_autoparameter ( T CoreInteraction::*  ptr,
char const *  name 
)
inlineprotected

◆ make_new_instance()

◆ update_core()

template<class CoreIA >
void ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::update_core ( bool  notify = true)

Member Data Documentation

◆ m_core_struct

template<class CoreIA >
std::weak_ptr<::IA_parameters> ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::m_core_struct
protected

Handle to the container whose members have to be synchronized.

Definition at line 64 of file NonBondedInteraction.hpp.

Referenced by ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::attach().

◆ m_handle

◆ m_notify_non_bonded_ia_change

template<class CoreIA >
std::weak_ptr<std::function<void()> > ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::m_notify_non_bonded_ia_change
protected

Callback to notify changes to the interaction range.

Definition at line 68 of file NonBondedInteraction.hpp.

◆ m_si_struct

template<class CoreIA >
std::weak_ptr<NonBondedInteractionHandle *> ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::m_si_struct
protected

Handle to the interface used to synchronize data members.

Definition at line 66 of file NonBondedInteraction.hpp.

Referenced by ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::attach().


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