SCIRun  5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
PropertyManager Class Reference

#include <PropertyManager.h>

Inheritance diagram for PropertyManager:
Persistent ColorMap FieldArray MatrixBase NrrdData String Matrix< T > ColumnMatrixGeneric< T > DenseColMajMatrixGeneric< T > DenseMatrixGeneric< T > SparseRowMatrixGeneric< T >

Public Member Functions

 PropertyManager ()
 
 PropertyManager (const PropertyManager &copy)
 
virtual ~PropertyManager ()
 
PropertyManageroperator= (const PropertyManager &pm)
 
void copy_properties (const PropertyManager *src)
 
bool operator== (const PropertyManager &pm)
 
bool operator!= (const PropertyManager &pm)
 
template<class T >
void set_property (const std::string &, const T &, bool is_transient)
 
template<class T >
bool get_property (const std::string &, T &)
 
bool is_property (const std::string &)
 
std::string get_property_name (size_t index)
 
virtual void freeze ()
 – mutability – More...
 
virtual void thaw ()
 thaw will remove all transient properties from the PropertyManager. More...
 
bool is_frozen () const
 query frozen state of a PropertyManager. More...
 
void remove_property (const std::string &)
 
size_t nproperties () const
 
const std::map< std::string,
PropertyBase * > & 
properties () const
 
void io (Piostream &stream)
 
virtual std::string dynamic_type_name () const
 
void set_name (const std::string &name)
 
std::string get_name ()
 
- Public Member Functions inherited from Persistent
virtual ~Persistent ()
 

Static Public Attributes

static PersistentTypeID type_id
 

Protected Member Functions

void clear_transient ()
 A frozen PropertyManager may store transient data. More...
 

Protected Attributes

bool frozen_
 
Core::Thread::Mutex lock
 

Additional Inherited Members

- Static Public Member Functions inherited from Persistent
static PersistentTypeIDPtr find_derived (const std::string &classname, const std::string &basename)
 
static bool is_base_of (const std::string &parent, const std::string &type)
 
static void add_class (const std::string &type, const std::string &parent, Persistent *(*maker)(), Persistent *(*bc_maker1)()=0, Persistent *(*bc_maker2)()=0)
 
static void add_mesh_class (const std::string &type, Persistent *(*maker)(), Persistent *(*bc_maker1)()=0, Persistent *(*bc_maker2)()=0)
 
static void add_field_class (const std::string &type, Persistent *(*maker)(), Persistent *(*bc_maker1)()=0, Persistent *(*bc_maker2)()=0)
 

Constructor & Destructor Documentation

PropertyManager ( const PropertyManager copy)
Todo:
: this and copy properties share essentially common code.
~PropertyManager ( )
virtual

Member Function Documentation

void clear_transient ( )
protected

A frozen PropertyManager may store transient data.

void copy_properties ( const PropertyManager src)
Todo:
: currently, field types are passing in pointers
std::string dynamic_type_name ( ) const
virtual
void freeze ( )
virtual

– mutability –

Transient data may only be stored in a frozen PropertyManager.

std::string get_name ( )
inline
bool get_property ( const std::string &  name,
T &  ref 
)
std::string get_property_name ( size_t  index)
void io ( Piostream stream)
virtual
bool is_frozen ( ) const
inline

query frozen state of a PropertyManager.

bool is_property ( const std::string &  name)
size_t nproperties ( ) const
inline
bool operator!= ( const PropertyManager pm)
PropertyManager & operator= ( const PropertyManager pm)
bool operator== ( const PropertyManager pm)
const std::map<std::string, PropertyBase *>& properties ( ) const
inline
void remove_property ( const std::string &  name)
void set_name ( const std::string &  name)
inline
void set_property ( const std::string &  name,
const T &  obj,
bool  is_transient 
)
void thaw ( )
virtual

thaw will remove all transient properties from the PropertyManager.

Todo:
: since we're using Boost shared pointers, ref_cnt is no longer u sed.

Member Data Documentation

bool frozen_
protected
Core::Thread::Mutex lock
protected
PersistentTypeID type_id
static

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