On 28/08/2020 18:53, Regina Henschel wrote:
I have a constant array
const std::pair<OUString, OUString> aApiToLabelFooPairs[] =
{
{"LineStyle", "LabelBorderStyle"},
etc.
}
for to map draw object fill and line property names to data-label
related properties of series and points in a chart on ODF import.
I need it in SchXMLSeries2Context::setStylesToSeries and in
SchXMLSeries2Context::setStylesToDataPoints.
I have not worked on export yet, so I don't know whether it will be
needed on export too.
Where to put this array and how?
I can put it separately from the SchXMLSeries2Context methods into the
file SchXMLSeries2Context.cxx. Would that be "static" or not?
If aApiToLabelFooPairs is only used in
xmloff/source/chart/SchXMLSeries2Context.cxx, you best put it in that
file, at file scope. And as the object is const, "static" would be
redundant (and loplugin:redundantstatic would even warn about it).
(There's a slight drawback with global static objects involving e.g.
OUString construction, as that incurs some cost when the library
containing the object is loaded. std::pair construction is by now
constexpr if the construction of its members is, and two
constexpr-constructible replacements for OUString that are suitable in
many use cases is/was OUStringLiteral---but for which I'm planing on
changing its role somewhat, so that it would unfortunately no longer be
usable in your example---and std::u16string_view. But you can ignore
that for now and we can revisit things once (a) you know the final place
for aApiToLabelFooPairs when all uses across import and export have been
determined, and (b) the OUStringLiteral -> std::u16string_view situation
has settled.)
_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice