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>
164 NamedProperty(
const std::string& name,
const std::string& str);
182 NamedProperty(
const std::string& name, boost::shared_ptr<PersistentObject>& po);
201 virtual void clear();
224 Type getType()
const;
227 const std::string&
getName()
const;
233 bool getBool()
const;
245 float getFloat()
const;
251 double getDouble()
const;
257 unsigned int getUnsignedInt()
const;
269 boost::shared_ptr<PersistentObject> getSmartObject()
const;
359 PropertyManager(
const PropertyManager& property_manager);
362 virtual ~PropertyManager();
365 virtual void clear();
368 virtual void destroy();
378 void set(
const PropertyManager& property_manager);
386 const PropertyManager& operator = (
const PropertyManager& property_manager);
393 void get(PropertyManager& property_manager)
const;
398 void swap(PropertyManager& property_manager);
444 void setProperty(
Property property);
451 void clearProperty(
Property property);
458 void toggleProperty(
Property property);
465 Size countProperties()
const;
503 void setProperty(
const std::string& name);
512 void setProperty(
const std::string& name,
bool value);
521 void setProperty(
const std::string& name,
int value);
530 void setProperty(
const std::string& name,
unsigned int value);
539 void setProperty(
const std::string& name,
float value);
548 void setProperty(
const std::string& name,
double value);
557 void setProperty(
const std::string& name,
const std::string& value);
574 const NamedProperty& getProperty(
const std::string& name)
const;
587 void clearProperty(
const std::string& name);
592 Size countNamedProperties()
const;
598 bool hasProperty(
Property property)
const;
602 bool hasProperty(
const std::string& name)
const;
607 bool operator == (
const PropertyManager& pm)
const;
610 bool operator != (
const PropertyManager& pm)
const;
633 bool isValid()
const;
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>
659 #endif // BALL_CONCEPT_PROPERTY_H
#define BALL_CREATE(name)
std::vector< NamedProperty >::iterator NamedPropertyIterator
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
BALL_EXPORT bool operator==(const String &s1, const String &s2)