7#ifndef BALL_CONCEPT_PROPERTY_H
8#define BALL_CONCEPT_PROPERTY_H
14#ifndef BALL_DATATYPE_BITVECTOR_H
18#ifndef BALL_CONCEPT_PERSISTENTOBJECT_H
24#include <boost/shared_ptr.hpp>
25#include <boost/any.hpp>
182 NamedProperty(
const std::string& name, boost::shared_ptr<PersistentObject>& po);
557 void setProperty(
const std::string& name,
const std::string& value);
641 void dump(std::ostream& s = std::cout,
Size depth = 0)
const;
648 std::vector<NamedProperty> named_properties_;
653# ifndef BALL_NO_INLINE_FUNCTIONS
654# include <BALL/CONCEPT/property.iC>
#define BALL_CREATE(name)
BALL_EXPORT bool operator==(const String &s1, const String &s2)
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
std::vector< NamedProperty >::iterator NamedPropertyIterator
NamedProperty(const NamedProperty &, const std::string &name)
NamedProperty(const std::string &name, boost::shared_ptr< PersistentObject > &po)
NamedProperty(const std::string &name, PersistentObject &po)
NamedProperty(const std::string &name, unsigned int value)
unsigned int getUnsignedInt() const
NamedProperty(const NamedProperty &)
NamedProperty(const std::string &name, double value)
NamedProperty(const std::string &name, bool value)
NamedProperty(const std::string &name, float value)
virtual void persistentRead(PersistenceManager &pm)
NamedProperty(const std::string &name, int value)
NamedProperty(const std::string &name, const std::string &str)
const std::string & getName() const
Return the name of the property.
PersistentObject * getObject() const
Type getType() const
Return the type of the data stored in the property object.
boost::shared_ptr< PersistentObject > getSmartObject() const
virtual void persistentWrite(PersistenceManager &pm, const char *name="") const
NamedProperty(const std::string &name)
Size countProperties() const
void setProperty(const std::string &name)
BALL_INLINE PropertyManager(const PropertyManager &property_manager)
Copy constructor.
bool hasProperty(Property property) const
Query for an unnamed property.
void setProperty(const std::string &name, double value)
void toggleProperty(Property property)
const NamedProperty & getProperty(const std::string &name) const
void clearProperty(Property property)
bool hasProperty(const std::string &name) const
Query for a named property.
void dump(std::ostream &s=std::cout, Size depth=0) const
void setProperty(const std::string &name, bool value)
virtual ~PropertyManager()
Destructor.
void get(PropertyManager &property_manager) const
NamedPropertyIterator endNamedProperty()
Size countNamedProperties() const
void setProperty(const std::string &name, unsigned int value)
void setProperty(Property property)
const BitVector & getBitVector() const
void setProperty(const std::string &name, const PersistentObject &value)
BitVector & getBitVector()
void write(PersistenceManager &pm) const
Persistent stream writing.
virtual void destroy()
Clears all properties.
virtual void clear()
Clears all properties.
NamedPropertyIterator beginNamedProperty()
void set(const PropertyManager &property_manager)
void setProperty(const std::string &name, float value)
BALL_INLINE PropertyManager()
Default constructor.
bool read(PersistenceManager &pm)
Persistent stream reading.
void swap(PropertyManager &property_manager)
void clearProperty(const std::string &name)
NamedProperty & getNamedProperty(Position index)
void setProperty(const NamedProperty &property)
const NamedProperty & getNamedProperty(Position index) const
void setProperty(const std::string &name, int value)
void setProperty(const std::string &name, const std::string &value)