OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
AttributeBase Class Referenceabstract

Abstract base class for attribute values of different types. More...

#include <AttributeBase.h>

Inheritance diagram for AttributeBase:
Collaboration diagram for AttributeBase:

Public Member Functions

 AttributeBase ()
virtual ~AttributeBase ()
virtual AttributeBaseclone () const =0
 Make clone.
std::string getImage () const
 Convert to string.
virtual bool isExpression () const
 Test for expression.
virtual void print (std::ostream &) const =0
 Print value.
int addReference () const
 Increment reference count.
int removeReference () const
 Decrement the reference count.
bool isShared () const
 Test for sharing.
virtual void invalidate ()
 Force re-evaluation.

Private Member Functions

 AttributeBase (AttributeBase &)
void operator= (AttributeBase &)

Private Attributes

int refCount

Detailed Description

Abstract base class for attribute values of different types.

Definition at line 32 of file AttributeBase.h.

Constructor & Destructor Documentation

◆ AttributeBase() [1/2]

AttributeBase::AttributeBase ( )

Definition at line 25 of file AttributeBase.cpp.

References RCObject::RCObject().

Referenced by AttributeBase(), clone(), Expressions::SRefAttr< T >::evaluate(), operator=(), Expressions::SRefAttr< T >::set(), and Expressions::SRefAttr< T >::SRefAttr().

Here is the call graph for this function:

◆ ~AttributeBase()

AttributeBase::~AttributeBase ( )
virtual

Definition at line 30 of file AttributeBase.cpp.

◆ AttributeBase() [2/2]

AttributeBase::AttributeBase ( AttributeBase & )
private

References AttributeBase().

Here is the call graph for this function:

Member Function Documentation

◆ addReference()

int RCObject::addReference ( ) const
inlineinherited

Increment reference count.

Definition at line 83 of file RCObject.h.

References refCount.

Referenced by Pointer< Object >::operator=(), Pointer< Object >::operator=(), and Pointer< Object >::unique().

◆ clone()

virtual AttributeBase * AttributeBase::clone ( ) const
pure virtual

Make clone.

Implemented in Expressions::AAutomatic< T >, Expressions::ADeferred< T >, Expressions::AValue< T >, Expressions::SAutomatic< T >, Expressions::SDeferred< T >, Expressions::SRefAttr< T >, and Expressions::SValue< T >.

References AttributeBase().

Here is the call graph for this function:

◆ getImage()

std::string AttributeBase::getImage ( ) const

Convert to string.

Definition at line 34 of file AttributeBase.cpp.

References print().

Referenced by Expressions::ADeferred< T >::evaluate(), Expressions::SDeferred< T >::evaluate(), and Expressions::SRefAttr< T >::evaluate().

Here is the call graph for this function:

◆ invalidate()

void Invalidator::invalidate ( )
virtualinherited

◆ isExpression()

bool AttributeBase::isExpression ( ) const
virtual

Test for expression.

Reimplemented in Expressions::ADeferred< T >, and Expressions::SDeferred< T >.

Definition at line 42 of file AttributeBase.cpp.

Referenced by OpalElement::printMultipoleStrength().

◆ isShared()

bool RCObject::isShared ( ) const
inlineinherited

Test for sharing.

Definition at line 93 of file RCObject.h.

References refCount.

◆ operator=()

void AttributeBase::operator= ( AttributeBase & )
private

References AttributeBase().

Here is the call graph for this function:

◆ print()

◆ removeReference()

int RCObject::removeReference ( ) const
inlineinherited

Decrement the reference count.

Definition at line 88 of file RCObject.h.

References refCount.

Member Data Documentation

◆ refCount

int RCObject::refCount
mutableprivateinherited

Definition at line 76 of file RCObject.h.

Referenced by addReference(), isShared(), RCObject(), RCObject(), and removeReference().


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