summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--comphelper/source/property/propertybag.cxx28
-rw-r--r--include/comphelper/propertybag.hxx10
2 files changed, 14 insertions, 24 deletions
diff --git a/comphelper/source/property/propertybag.cxx b/comphelper/source/property/propertybag.cxx
index ac8fc17ff1b7..de230f470150 100644
--- a/comphelper/source/property/propertybag.cxx
+++ b/comphelper/source/property/propertybag.cxx
@@ -48,16 +48,8 @@ namespace comphelper
namespace PropertyAttribute = ::com::sun::star::beans::PropertyAttribute;
- typedef std::map< sal_Int32, Any > MapInt2Any;
- struct PropertyBag_Impl
- {
- PropertyBag_Impl() : m_bAllowEmptyPropertyName(false) { }
- MapInt2Any aDefaults;
- bool m_bAllowEmptyPropertyName;
- };
-
PropertyBag::PropertyBag()
- :m_pImpl( new PropertyBag_Impl )
+ : m_bAllowEmptyPropertyName(false)
{
}
@@ -68,7 +60,7 @@ namespace comphelper
void PropertyBag::setAllowEmptyPropertyName( bool i_isAllowed )
{
- m_pImpl->m_bAllowEmptyPropertyName = i_isAllowed;
+ m_bAllowEmptyPropertyName = i_isAllowed;
}
@@ -117,7 +109,7 @@ namespace comphelper
);
// check name/handle sanity
- lcl_checkForEmptyName( m_pImpl->m_bAllowEmptyPropertyName, _rName );
+ lcl_checkForEmptyName( m_bAllowEmptyPropertyName, _rName );
lcl_checkNameAndHandle_ElementExistException( _rName, _nHandle, *this );
// register the property
@@ -125,7 +117,7 @@ namespace comphelper
registerPropertyNoMember( _rName, _nHandle, _nAttributes | PropertyAttribute::MAYBEVOID, _rType, css::uno::Any() );
// remember the default
- m_pImpl->aDefaults.emplace( _nHandle, Any() );
+ aDefaults.emplace( _nHandle, Any() );
}
@@ -140,7 +132,7 @@ namespace comphelper
nullptr );
// check name/handle sanity
- lcl_checkForEmptyName( m_pImpl->m_bAllowEmptyPropertyName, _rName );
+ lcl_checkForEmptyName( m_bAllowEmptyPropertyName, _rName );
lcl_checkNameAndHandle_PropertyExistException( _rName, _nHandle, *this );
// register the property
@@ -148,7 +140,7 @@ namespace comphelper
_rInitialValue );
// remember the default
- m_pImpl->aDefaults.emplace( _nHandle, _rInitialValue );
+ aDefaults.emplace( _nHandle, _rInitialValue );
}
@@ -162,7 +154,7 @@ namespace comphelper
revokeProperty( nHandle );
- m_pImpl->aDefaults.erase( nHandle );
+ aDefaults.erase( nHandle );
}
@@ -199,9 +191,9 @@ namespace comphelper
if ( !hasPropertyByHandle( _nHandle ) )
throw UnknownPropertyException(OUString::number(_nHandle));
- MapInt2Any::const_iterator pos = m_pImpl->aDefaults.find( _nHandle );
- OSL_ENSURE( pos != m_pImpl->aDefaults.end(), "PropertyBag::getPropertyDefaultByHandle: inconsistency!" );
- if ( pos != m_pImpl->aDefaults.end() )
+ auto pos = aDefaults.find( _nHandle );
+ OSL_ENSURE( pos != aDefaults.end(), "PropertyBag::getPropertyDefaultByHandle: inconsistency!" );
+ if ( pos != aDefaults.end() )
_out_rValue = pos->second;
else
_out_rValue.clear();
diff --git a/include/comphelper/propertybag.hxx b/include/comphelper/propertybag.hxx
index 0bd7eb020e01..3cf9de9ff360 100644
--- a/include/comphelper/propertybag.hxx
+++ b/include/comphelper/propertybag.hxx
@@ -21,18 +21,17 @@
#define INCLUDED_COMPHELPER_PROPERTYBAG_HXX
#include <config_options.h>
+#include <com/sun/star/uno/Any.h>
#include <comphelper/comphelperdllapi.h>
#include <comphelper/propertycontainerhelper.hxx>
-#include <memory>
+#include <map>
namespace comphelper
{
- struct PropertyBag_Impl;
-
//= PropertyBag
/** provides a bag of properties associated with their values
@@ -42,9 +41,8 @@ namespace comphelper
*/
class UNLESS_MERGELIBS(COMPHELPER_DLLPUBLIC) PropertyBag final : protected OPropertyContainerHelper
{
- private:
- ::std::unique_ptr< PropertyBag_Impl > m_pImpl;
-
+ std::map< sal_Int32, css::uno::Any > aDefaults;
+ bool m_bAllowEmptyPropertyName;
public:
PropertyBag();
virtual ~PropertyBag();