#include <map>
+#include "pbd/libpbd_visibility.h"
#include "pbd/property_basics.h"
class XMLNode;
namespace PBD {
-class PropertyList : public std::map<PropertyID, PropertyBase*>
+
+/** A list of properties, mapped using their ID */
+class LIBPBD_API PropertyList : public std::map<PropertyID, PropertyBase*>
{
public:
- PropertyList();
+ PropertyList ();
+ PropertyList (PropertyList const &);
virtual ~PropertyList();
- void add_history_state (XMLNode* before);
+ void get_changes_as_xml (XMLNode *);
+ void invert ();
/** Add a property (of some kind) to the list. Used when
- constructing PropertyList's that describe a change/operation.
+ constructing PropertyLists that describe a change/operation.
*/
bool add (PropertyBase* prop);
* own Properties store them in an OwnedPropertyList
* to avoid having them deleted at the wrong time.
*/
-class OwnedPropertyList : public PropertyList
+class LIBPBD_API OwnedPropertyList : public PropertyList
{
public:
OwnedPropertyList();