Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Particle_with_system_label< ParticleBase, PartnerLabelsTraits, MediatorLabelsTraits, ExtraLabelsTraits, IsSerializedLabel > Class Template Reference

Model of Particle with a system's label. More...

#include <Particle_with_system_label_traits.hpp>

Classes

union  System_label
 Representation of a system's label, that can be either a partner, a mediator or an extra label. More...
 

Public Types

typedef PartnerLabelsTraits Partner_labels_traits
 Model of MolecularSystemLabelsTraits for partners' labels. More...
 
typedef MediatorLabelsTraits Mediator_labels_traits
 Model of MolecularSystemLabelsTraits for mediators' labels. More...
 
typedef ExtraLabelsTraits Extra_labels_traits
 Model of MolecularSystemLabelsTraits for extra labels. More...
 
typedef PartnerLabelsTraits::Label Partner_label
 Representation of a partner's label. More...
 
typedef PartnerLabelsTraits::Primitive_label_classifier Primitive_partner_classifier
 Classification of the primitive partners. More...
 
typedef MediatorLabelsTraits::Label Mediator_label
 Representation of a mediator's label. More...
 
typedef MediatorLabelsTraits::Primitive_label_classifier Primitive_mediator_classifier
 Classification of the primitive mediators. More...
 
typedef ExtraLabelsTraits::Label Extra_label
 Representation of an extra's label. More...
 
typedef ExtraLabelsTraits::Primitive_label_classifier Primitive_extra_classifier
 Classification of the primitive extras. More...
 

Labels Management

bool is_partner (void) const
 
bool is_mediator (void) const
 
bool is_extra (void) const
 
Partner_label get_partner_label (void) const
 
Mediator_label get_mediator_label (void) const
 
Extra_label get_extra_label (void) const
 
void set_partner_label (Partner_label label)
 
void set_mediator_label (Mediator_label label)
 
void set_extra_label (Extra_label label)
 
bool set_system_label (const Primitive_partner_classifier &partner_classifier=Primitive_partner_classifier(), const Primitive_mediator_classifier &mediator_classifier=Primitive_mediator_classifier(), const Primitive_extra_classifier &extra_classifier=Primitive_extra_classifier())
 Updates the system's label of this particle using the input classifiers of primitive labels. More...
 

Detailed Description

template<class ParticleBase, class PartnerLabelsTraits, class MediatorLabelsTraits, class ExtraLabelsTraits, bool IsSerializedLabel>
class SBL::Models::T_Particle_with_system_label< ParticleBase, PartnerLabelsTraits, MediatorLabelsTraits, ExtraLabelsTraits, IsSerializedLabel >

Model of Particle with a system's label.

...

Template Parameters
ParticleBaseBase model of ParticleTraits.
PartnerLabelsTraitsModel of MolecularSystemLabelsTraits for partners' labels.
MediatorLabelsTraitsModel of MolecularSystemLabelsTraits for mediators' labels.
ExtraLabelsTraitsModel of MolecularSystemLabelsTraits for extra labels.
IsSerializedLabelBoolean that checks that the labels are serialized in the output (default is true).

Class Documentation

◆ SBL::Models::T_Particle_with_system_label::System_label

union SBL::Models::T_Particle_with_system_label::System_label

template<class ParticleBase, class PartnerLabelsTraits, class MediatorLabelsTraits, class ExtraLabelsTraits, bool IsSerializedLabel>
union SBL::Models::T_Particle_with_system_label< ParticleBase, PartnerLabelsTraits, MediatorLabelsTraits, ExtraLabelsTraits, IsSerializedLabel >::System_label

Representation of a system's label, that can be either a partner, a mediator or an extra label.

Member Typedef Documentation

◆ Extra_label

typedef ExtraLabelsTraits::Label Extra_label

Representation of an extra's label.

◆ Extra_labels_traits

typedef ExtraLabelsTraits Extra_labels_traits

Model of MolecularSystemLabelsTraits for extra labels.

◆ Mediator_label

typedef MediatorLabelsTraits::Label Mediator_label

Representation of a mediator's label.

◆ Mediator_labels_traits

typedef MediatorLabelsTraits Mediator_labels_traits

Model of MolecularSystemLabelsTraits for mediators' labels.

◆ Partner_label

typedef PartnerLabelsTraits::Label Partner_label

Representation of a partner's label.

◆ Partner_labels_traits

typedef PartnerLabelsTraits Partner_labels_traits

Model of MolecularSystemLabelsTraits for partners' labels.

◆ Primitive_extra_classifier

typedef ExtraLabelsTraits:: Primitive_label_classifier Primitive_extra_classifier

Classification of the primitive extras.

◆ Primitive_mediator_classifier

typedef MediatorLabelsTraits:: Primitive_label_classifier Primitive_mediator_classifier

Classification of the primitive mediators.

◆ Primitive_partner_classifier

typedef PartnerLabelsTraits:: Primitive_label_classifier Primitive_partner_classifier

Classification of the primitive partners.

Member Function Documentation

◆ set_system_label()

bool set_system_label ( const Primitive_partner_classifier partner_classifier = Primitive_partner_classifier(),
const Primitive_mediator_classifier mediator_classifier = Primitive_mediator_classifier(),
const Primitive_extra_classifier extra_classifier = Primitive_extra_classifier() 
)
inline

Updates the system's label of this particle using the input classifiers of primitive labels.