create a macro to tidy up the declaration sites of o3tl::typed_flags_set

Change-Id: Ifb8fd4fd5128188420f1dfda6b6f695160d5e77a
Reviewed-on: https://gerrit.libreoffice.org/15865
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
This commit is contained in:
Noel Grandin 2015-05-22 15:23:50 +02:00 committed by Thorsten Behrens
parent e1b123896d
commit e51fa14358
7 changed files with 16 additions and 25 deletions

View File

@ -317,6 +317,15 @@ inline typename o3tl::typed_flags<E>::Self operator ^=(
return lhs;
}
/*
* Make the declaration sites a little less verbose
*/
#define DECLARE_TYPED_FLAGS(T,V) \
namespace o3tl \
{ \
template<> struct typed_flags<T> : is_typed_flags<T,V> {}; \
} \
#endif /* INCLUDED_O3TL_TYPED_FLAGS_SET_HXX */
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@ -61,10 +61,8 @@ enum class XMLShapeExportFlags {
// When setting the flag below a callout shape is exported as office:annotation
ANNOTATION = 0x0040,
};
namespace o3tl
{
template<> struct typed_flags<XMLShapeExportFlags> : is_typed_flags<XMLShapeExportFlags, 0x7f> {};
}
DECLARE_TYPED_FLAGS(XMLShapeExportFlags, 0x007f)
#define SEF_DEFAULT XMLShapeExportFlags::POSITION|XMLShapeExportFlags::SIZE

View File

@ -81,11 +81,7 @@ enum class SvXMLErrorFlags {
ERROR_OCCURRED = 0x0002,
WARNING_OCCURRED = 0x0004,
};
namespace o3tl
{
template<> struct typed_flags<SvXMLErrorFlags> : is_typed_flags<SvXMLErrorFlags, 0x7> {};
}
DECLARE_TYPED_FLAGS(SvXMLErrorFlags, 0x0007)
namespace com { namespace sun { namespace star {
namespace uno { template<class X> class Sequence; }

View File

@ -102,10 +102,7 @@ enum class SvXMLExportFlags {
OASIS = 0x8000,
ALL = 0x0fff
};
namespace o3tl
{
template<> struct typed_flags<SvXMLExportFlags> : is_typed_flags<SvXMLExportFlags, 0x8fff> {};
}
DECLARE_TYPED_FLAGS(SvXMLExportFlags, 0x8fff)
class XMLOFF_DLLPUBLIC SvXMLExport : public ::cppu::WeakImplHelper6<
::com::sun::star::document::XFilter,

View File

@ -38,10 +38,7 @@ enum class SvXmlExportFlags {
// even if its empty
IGN_WS = 0x0008
};
namespace o3tl
{
template<> struct typed_flags<SvXmlExportFlags> : is_typed_flags<SvXmlExportFlags, 0xf> {};
}
DECLARE_TYPED_FLAGS(SvXmlExportFlags, 0x000f)
class SvXMLUnitConverter;
class SvXMLAttributeList;

View File

@ -97,10 +97,7 @@ enum class SvXMLImportFlags {
EMBEDDED = 0x0100,
ALL = 0xffff
};
namespace o3tl
{
template<> struct typed_flags<SvXMLImportFlags> : is_typed_flags<SvXMLImportFlags, 0xffff> {};
}
DECLARE_TYPED_FLAGS(SvXMLImportFlags, 0xffff)
class XMLOFF_DLLPUBLIC SvXMLImport : public ::cppu::WeakImplHelper7<

View File

@ -18,10 +18,7 @@ using namespace ::o3tl;
enum class ConfigurationChangedHint { NONE, ONE, TWO };
namespace o3tl
{
template<> struct typed_flags< ConfigurationChangedHint> : is_typed_flags< ConfigurationChangedHint, 0xFF> {};
}
DECLARE_TYPED_FLAGS(ConfigurationChangedHint, 0xff)
class typed_flags_test : public CppUnit::TestFixture
{