...at least with VS 2022 Preview 17.6.0 Preview 3.0 and --with-latest-c++, > C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\span(78): error C2036: 'const com::sun::star::beans::NamedValue *': unknown size > C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\span(73): note: while compiling class template member function 'std::_Span_iterator<_Ty> &std::_Span_iterator<_Ty>::operator --(void) noexcept' > with > [ > _Ty=const com::sun::star::beans::NamedValue > ] > C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\xutility(1414): note: see the first reference to 'std::_Span_iterator<_Ty>::operator --' in 'std::iter_move' > with > [ > _Ty=const com::sun::star::beans::NamedValue > ] > C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\xutility(474): note: see the first reference to 'std::iter_move' in 'std::ranges::_Iter_move::_Cpo::operator ()' > C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\__msvc_iter_core.hpp(392): note: see reference to class template instantiation 'std::_Span_iterator<_Ty>' being compiled > with > [ > _Ty=const com::sun::star::beans::NamedValue > ] > C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\xutility(602): note: see reference to variable template 'bool input_or_output_iterator<std::_Span_iterator<com::sun::star::beans::NamedValue const > >' being compiled > C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\xutility(1778): note: see reference to variable template 'bool input_iterator<std::_Span_iterator<com::sun::star::beans::NamedValue const > >' being compiled > filter\source\config\cache\filtercache.hxx(368): note: see reference to class template instantiation 'std::span<const com::sun::star::beans::NamedValue,18446744073709551615>' being compiled Change-Id: Ibff530be810f56a1f33bf78f0d2e3b76c64b08cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150385 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
LibreOffice Filters
Filter registration and some simple filters (also descriptions).
Desperate splitting of code into small shared libraries for historical
reasons presumably (OS/2 and Windows 3.x). The libraries produced from
the code in each subdirectory of filter/source/graphicfilter are
graphic format import or export filters. But they don't have uniform
API. Some have either a GraphicImport or GraphicExport entry point,
and are loaded and used in a uniform fashion from code in
svtools/source/filter/filter.cxx. Others have different API and are
loaded from other places. For instance icgm has ImportCGM, and is
loaded and used by sd/source/filter/cgm/sdcgmfilter.cxx (!).
Svgreader is used for "File -> Open" and then to choose the svg file.
For "Insert -> Picture -> From File", see svgio/source/svgreader directory.
Filter Configuration
The filter configuration consists of two parts, the type definition in
filter/source/config/fragments/types/ and the actual filter definition
in filter/source/config/fragments/filters/.
Each file type e.g. text file should be represented by exactly one type definition. This type can then be referenced by several different filters, e.g. calc text, writer text.