Fri Dec 20 21:15:46 UTC 2024  I: starting to build libboost-geometry-utils-perl/trixie/i386 on jenkins on '2024-12-20 21:15'
Fri Dec 20 21:15:46 UTC 2024  I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/i386_7/52041/console.log
Fri Dec 20 21:15:46 UTC 2024  I: Downloading source for trixie/libboost-geometry-utils-perl=0.15-3
--2024-12-20 21:15:46--  http://deb.debian.org/debian/pool/main/libb/libboost-geometry-utils-perl/libboost-geometry-utils-perl_0.15-3.dsc
Connecting to 46.16.76.132:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 2358 (2.3K) [text/prs.lines.tag]
Saving to: ‘libboost-geometry-utils-perl_0.15-3.dsc’

     0K ..                                                    100%  246M=0s

2024-12-20 21:15:46 (246 MB/s) - ‘libboost-geometry-utils-perl_0.15-3.dsc’ saved [2358/2358]

Fri Dec 20 21:15:46 UTC 2024  I: libboost-geometry-utils-perl_0.15-3.dsc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 3.0 (quilt)
Source: libboost-geometry-utils-perl
Binary: libboost-geometry-utils-perl
Architecture: any
Version: 0.15-3
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Uploaders: Florian Schlichting <fschlich@zedat.fu-berlin.de>
Homepage: https://metacpan.org/release/Boost-Geometry-Utils
Standards-Version: 3.9.5
Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libboost-geometry-utils-perl
Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libboost-geometry-utils-perl.git
Testsuite: autopkgtest-pkg-perl
Build-Depends: debhelper-compat (= 13), libextutils-cppguess-perl, libextutils-typemaps-default-perl, libextutils-xspp-perl, libmodule-build-withxspp-perl, perl-xs-dev, perl:native
Package-List:
 libboost-geometry-utils-perl deb perl optional arch=any
Checksums-Sha1:
 e626aea1cd57e74c64ce32a1f9723d7f34fe3bf9 4064207 libboost-geometry-utils-perl_0.15.orig.tar.gz
 31db5a2ac714eceb3a6cf4c8d45df9ab99695a32 3800 libboost-geometry-utils-perl_0.15-3.debian.tar.xz
Checksums-Sha256:
 0054dd3f573bd3f6f47b73ee81d1e845842fba04aadb52880aa52701c687d1ca 4064207 libboost-geometry-utils-perl_0.15.orig.tar.gz
 dceae2103464e89f81c6ddd7a7ccfa1c0819bbe52d93a324f5b7c1d0fc75b7ea 3800 libboost-geometry-utils-perl_0.15-3.debian.tar.xz
Files:
 14d705f8efda8db81e118aa8c8a21bed 4064207 libboost-geometry-utils-perl_0.15.orig.tar.gz
 f1d3763003e83377ffcbf494f6c51965 3800 libboost-geometry-utils-perl_0.15-3.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEsjhixBXWVlpOhsvXV5wWDUyeI+gFAmKhNLEACgkQV5wWDUye
I+gJTBAAkCN0FbmM1JOgf5Q/HvNvpEcwPQ0rabspUjlgF3WpeGFcPsoSbdgiofSB
1qyJAIaqZaqhY+M5+l82mXVKyMtWjgtjqyZkuunwVL7pA6iS71YkWbXz3PWnPpqS
N+wwC1hc7ybd26MRBCQ31gudf68kn86wFfd7/mBvYUbIKsKWbxCMjZUszEJV/RGU
0sQ2YXxGqgBY6GBWFpMOHjYYYuVJEK7d8fM2vpLCw+0DVkBLW83MrqfZDQUdXoqE
bVdHXIFJ4xI+bMUa7boVHBShOklxkPPjJ2Ovz2Lh5vwZn9pYgEnCViSPiUrnI6WE
ncW90uF7vSTy8HmWtDcPna8xgur77G+RJhBVAE5K8f2f5paQ6mEYi6FigaRQjADO
jEOVwMNhuICZv+4Cc9q1YLNwNdmKt/qlo3atwGFMSWXE7eXDacpTGW7xW0uBpMey
QB0aXO0qvx9f8CJi5Q43N4SOxkBzRtZGkZRo5VqV6ZCWSwpnp9pCUQcrUQ6FcXbV
rVBjqaju39SyL/3BdpYCG+1PYQJL5tNNDunynTWeCvMtMCfAjSwWsC+RBpVuerGJ
y3zPopFBDcW9caoGH+aHvV923JS/LupDoUf1xZP09elxlIwOToexQbNjGI/8ewIQ
NA32nTr2dGm5xW6lTVGAWuijxPOlY135trPWohSLzOyHg7AGFAE=
=iMtq
-----END PGP SIGNATURE-----
Fri Dec 20 21:15:46 UTC 2024  I: Checking whether the package is not for us
Fri Dec 20 21:15:46 UTC 2024  I: Starting 1st build on remote node ionos12-i386.debian.net.
Fri Dec 20 21:15:46 UTC 2024  I: Preparing to do remote build '1' on ionos12-i386.debian.net.
Fri Dec 20 21:17:27 UTC 2024  I: Deleting $TMPDIR on ionos12-i386.debian.net.
I: pbuilder: network access will be disabled during build
I: Current time: Fri Dec 20 09:15:49 -12 2024
I: pbuilder-time-stamp: 1734729349
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz]
I: copying local configuration
W: --override-config is not set; not updating apt.conf Read the manpage for details.
I: mounting /proc filesystem
I: mounting /sys filesystem
I: creating /{dev,run}/shm
I: mounting /dev/pts filesystem
I: redirecting /dev/ptmx to /dev/pts/ptmx
I: policy-rc.d already exists
I: using eatmydata during job
I: Copying source file
I: copying [libboost-geometry-utils-perl_0.15-3.dsc]
I: copying [./libboost-geometry-utils-perl_0.15.orig.tar.gz]
I: copying [./libboost-geometry-utils-perl_0.15-3.debian.tar.xz]
I: Extracting source
gpgv: Signature made Wed Jun  8 23:45:53 2022 
gpgv:                using RSA key B23862C415D6565A4E86CBD7579C160D4C9E23E8
gpgv: Can't check signature: No public key
dpkg-source: warning: cannot verify inline signature for ./libboost-geometry-utils-perl_0.15-3.dsc: no acceptable signature found
dpkg-source: info: extracting libboost-geometry-utils-perl in libboost-geometry-utils-perl-0.15
dpkg-source: info: unpacking libboost-geometry-utils-perl_0.15.orig.tar.gz
dpkg-source: info: unpacking libboost-geometry-utils-perl_0.15-3.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying 0001-multi_linestring2perl-only-extend-the-array-if-neede.patch
I: using fakeroot in build.
I: Installing the build-deps
I: user script /srv/workspace/pbuilder/32575/tmp/hooks/D02_print_environment starting
I: set
  BUILDDIR='/build/reproducible-path'
  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
  BUILDUSERNAME='pbuilder1'
  BUILD_ARCH='i386'
  DEBIAN_FRONTEND='noninteractive'
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 '
  DISTRIBUTION='trixie'
  HOME='/root'
  HOST_ARCH='i386'
  IFS=' 	
  '
  INVOCATION_ID='fab3a52ba0724bac9827b91fb78db179'
  LANG='C'
  LANGUAGE='en_US:en'
  LC_ALL='C'
  LD_LIBRARY_PATH='/usr/lib/libeatmydata'
  LD_PRELOAD='libeatmydata.so'
  MAIL='/var/mail/root'
  OPTIND='1'
  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
  PBCURRENTCOMMANDLINEOPERATION='build'
  PBUILDER_OPERATION='build'
  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
  PBUILDER_SYSCONFDIR='/etc'
  PPID='32575'
  PS1='# '
  PS2='> '
  PS4='+ '
  PWD='/'
  SHELL='/bin/bash'
  SHLVL='2'
  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.ye6fuAZm/pbuilderrc_et15 --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.ye6fuAZm/b1 --logfile b1/build.log libboost-geometry-utils-perl_0.15-3.dsc'
  SUDO_GID='112'
  SUDO_UID='107'
  SUDO_USER='jenkins'
  TERM='unknown'
  TZ='/usr/share/zoneinfo/Etc/GMT+12'
  USER='root'
  _='/usr/bin/systemd-run'
  http_proxy='http://46.16.76.132:3128'
I: uname -a
  Linux ionos12-i386 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux
I: ls -l /bin
  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
I: user script /srv/workspace/pbuilder/32575/tmp/hooks/D02_print_environment finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: i386
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper-compat (= 13), libextutils-cppguess-perl, libextutils-typemaps-default-perl, libextutils-xspp-perl, libmodule-build-withxspp-perl, perl-xs-dev, perl:native
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 19946 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
 pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however:
  Package debhelper-compat is not installed.
 pbuilder-satisfydepends-dummy depends on libextutils-cppguess-perl; however:
  Package libextutils-cppguess-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libextutils-typemaps-default-perl; however:
  Package libextutils-typemaps-default-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libextutils-xspp-perl; however:
  Package libextutils-xspp-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libmodule-build-withxspp-perl; however:
  Package libmodule-build-withxspp-perl is not installed.
 pbuilder-satisfydepends-dummy depends on perl-xs-dev; however:
  Package perl-xs-dev is not installed.
 pbuilder-satisfydepends-dummy depends on perl:native.

Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
Reading package lists...
Building dependency tree...
Reading state information...
Initializing package states...
Writing extended state information...
Building tag database...
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
The following NEW packages will be installed:
  autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libcapture-tiny-perl{a} libdebhelper-perl{a} libelf1t64{a} libextutils-cppguess-perl{a} libextutils-typemaps-default-perl{a} libextutils-xspp-perl{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libmodule-build-perl{a} libmodule-build-withxspp-perl{a} libperl-dev{a} libpipeline1{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} 
The following packages are RECOMMENDED but will NOT be installed:
  curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl libmodule-signature-perl libpod-readme-perl libsoftware-license-perl lynx wget 
0 packages upgraded, 36 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.8 MB of archives. After unpacking 82.4 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian trixie/main i386 sensible-utils all 0.0.24 [24.8 kB]
Get: 2 http://deb.debian.org/debian trixie/main i386 libmagic-mgc i386 1:5.45-3+b1 [314 kB]
Get: 3 http://deb.debian.org/debian trixie/main i386 libmagic1t64 i386 1:5.45-3+b1 [115 kB]
Get: 4 http://deb.debian.org/debian trixie/main i386 file i386 1:5.45-3+b1 [43.2 kB]
Get: 5 http://deb.debian.org/debian trixie/main i386 gettext-base i386 0.22.5-2 [201 kB]
Get: 6 http://deb.debian.org/debian trixie/main i386 libuchardet0 i386 0.0.8-1+b2 [69.2 kB]
Get: 7 http://deb.debian.org/debian trixie/main i386 groff-base i386 1.23.0-6 [1198 kB]
Get: 8 http://deb.debian.org/debian trixie/main i386 bsdextrautils i386 2.40.2-12 [95.9 kB]
Get: 9 http://deb.debian.org/debian trixie/main i386 libpipeline1 i386 1.5.8-1 [41.2 kB]
Get: 10 http://deb.debian.org/debian trixie/main i386 man-db i386 2.13.0-1 [1428 kB]
Get: 11 http://deb.debian.org/debian trixie/main i386 m4 i386 1.4.19-4 [293 kB]
Get: 12 http://deb.debian.org/debian trixie/main i386 autoconf all 2.72-3 [493 kB]
Get: 13 http://deb.debian.org/debian trixie/main i386 autotools-dev all 20220109.1 [51.6 kB]
Get: 14 http://deb.debian.org/debian trixie/main i386 automake all 1:1.16.5-1.3 [823 kB]
Get: 15 http://deb.debian.org/debian trixie/main i386 autopoint all 0.22.5-2 [723 kB]
Get: 16 http://deb.debian.org/debian trixie/main i386 libdebhelper-perl all 13.20 [89.7 kB]
Get: 17 http://deb.debian.org/debian trixie/main i386 libtool all 2.4.7-8 [517 kB]
Get: 18 http://deb.debian.org/debian trixie/main i386 dh-autoreconf all 20 [17.1 kB]
Get: 19 http://deb.debian.org/debian trixie/main i386 libarchive-zip-perl all 1.68-1 [104 kB]
Get: 20 http://deb.debian.org/debian trixie/main i386 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB]
Get: 21 http://deb.debian.org/debian trixie/main i386 dh-strip-nondeterminism all 1.14.0-1 [8448 B]
Get: 22 http://deb.debian.org/debian trixie/main i386 libelf1t64 i386 0.192-4 [195 kB]
Get: 23 http://deb.debian.org/debian trixie/main i386 dwz i386 0.15-1+b1 [116 kB]
Get: 24 http://deb.debian.org/debian trixie/main i386 libicu72 i386 72.1-5+b1 [9583 kB]
Get: 25 http://deb.debian.org/debian trixie/main i386 libxml2 i386 2.12.7+dfsg+really2.9.14-0.2+b1 [734 kB]
Get: 26 http://deb.debian.org/debian trixie/main i386 gettext i386 0.22.5-2 [1631 kB]
Get: 27 http://deb.debian.org/debian trixie/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 28 http://deb.debian.org/debian trixie/main i386 po-debconf all 1.0.21+nmu1 [248 kB]
Get: 29 http://deb.debian.org/debian trixie/main i386 debhelper all 13.20 [915 kB]
Get: 30 http://deb.debian.org/debian trixie/main i386 libcapture-tiny-perl all 0.48-2 [24.6 kB]
Get: 31 http://deb.debian.org/debian trixie/main i386 libextutils-cppguess-perl all 0.27-1 [12.2 kB]
Get: 32 http://deb.debian.org/debian trixie/main i386 libextutils-typemaps-default-perl all 1.05-5 [37.1 kB]
Get: 33 http://deb.debian.org/debian trixie/main i386 libextutils-xspp-perl all 0.1800-3 [146 kB]
Get: 34 http://deb.debian.org/debian trixie/main i386 libmodule-build-perl all 0.423400-2 [252 kB]
Get: 35 http://deb.debian.org/debian trixie/main i386 libmodule-build-withxspp-perl all 0.14-4 [16.7 kB]
Get: 36 http://deb.debian.org/debian trixie/main i386 libperl-dev i386 5.40.0-8 [1223 kB]
Fetched 21.8 MB in 0s (55.2 MB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package sensible-utils.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19946 files and directories currently installed.)
Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ...
Unpacking sensible-utils (0.0.24) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_i386.deb ...
Unpacking libmagic-mgc (1:5.45-3+b1) ...
Selecting previously unselected package libmagic1t64:i386.
Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_i386.deb ...
Unpacking libmagic1t64:i386 (1:5.45-3+b1) ...
Selecting previously unselected package file.
Preparing to unpack .../03-file_1%3a5.45-3+b1_i386.deb ...
Unpacking file (1:5.45-3+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../04-gettext-base_0.22.5-2_i386.deb ...
Unpacking gettext-base (0.22.5-2) ...
Selecting previously unselected package libuchardet0:i386.
Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_i386.deb ...
Unpacking libuchardet0:i386 (0.0.8-1+b2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../06-groff-base_1.23.0-6_i386.deb ...
Unpacking groff-base (1.23.0-6) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../07-bsdextrautils_2.40.2-12_i386.deb ...
Unpacking bsdextrautils (2.40.2-12) ...
Selecting previously unselected package libpipeline1:i386.
Preparing to unpack .../08-libpipeline1_1.5.8-1_i386.deb ...
Unpacking libpipeline1:i386 (1.5.8-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../09-man-db_2.13.0-1_i386.deb ...
Unpacking man-db (2.13.0-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../10-m4_1.4.19-4_i386.deb ...
Unpacking m4 (1.4.19-4) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../11-autoconf_2.72-3_all.deb ...
Unpacking autoconf (2.72-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../13-automake_1%3a1.16.5-1.3_all.deb ...
Unpacking automake (1:1.16.5-1.3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../14-autopoint_0.22.5-2_all.deb ...
Unpacking autopoint (0.22.5-2) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../15-libdebhelper-perl_13.20_all.deb ...
Unpacking libdebhelper-perl (13.20) ...
Selecting previously unselected package libtool.
Preparing to unpack .../16-libtool_2.4.7-8_all.deb ...
Unpacking libtool (2.4.7-8) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../17-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../18-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../19-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.14.0-1) ...
Selecting previously unselected package libelf1t64:i386.
Preparing to unpack .../21-libelf1t64_0.192-4_i386.deb ...
Unpacking libelf1t64:i386 (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../22-dwz_0.15-1+b1_i386.deb ...
Unpacking dwz (0.15-1+b1) ...
Selecting previously unselected package libicu72:i386.
Preparing to unpack .../23-libicu72_72.1-5+b1_i386.deb ...
Unpacking libicu72:i386 (72.1-5+b1) ...
Selecting previously unselected package libxml2:i386.
Preparing to unpack .../24-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_i386.deb ...
Unpacking libxml2:i386 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../25-gettext_0.22.5-2_i386.deb ...
Unpacking gettext (0.22.5-2) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../26-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../27-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../28-debhelper_13.20_all.deb ...
Unpacking debhelper (13.20) ...
Selecting previously unselected package libcapture-tiny-perl.
Preparing to unpack .../29-libcapture-tiny-perl_0.48-2_all.deb ...
Unpacking libcapture-tiny-perl (0.48-2) ...
Selecting previously unselected package libextutils-cppguess-perl.
Preparing to unpack .../30-libextutils-cppguess-perl_0.27-1_all.deb ...
Unpacking libextutils-cppguess-perl (0.27-1) ...
Selecting previously unselected package libextutils-typemaps-default-perl.
Preparing to unpack .../31-libextutils-typemaps-default-perl_1.05-5_all.deb ...
Unpacking libextutils-typemaps-default-perl (1.05-5) ...
Selecting previously unselected package libextutils-xspp-perl.
Preparing to unpack .../32-libextutils-xspp-perl_0.1800-3_all.deb ...
Unpacking libextutils-xspp-perl (0.1800-3) ...
Selecting previously unselected package libmodule-build-perl.
Preparing to unpack .../33-libmodule-build-perl_0.423400-2_all.deb ...
Adding 'diversion of /usr/bin/config_data to /usr/bin/config_data.diverted by libmodule-build-perl'
Adding 'diversion of /usr/share/man/man1/config_data.1.gz to /usr/share/man/man1/config_data.diverted.1.gz by libmodule-build-perl'
Unpacking libmodule-build-perl (0.423400-2) ...
Selecting previously unselected package libmodule-build-withxspp-perl.
Preparing to unpack .../34-libmodule-build-withxspp-perl_0.14-4_all.deb ...
Unpacking libmodule-build-withxspp-perl (0.14-4) ...
Selecting previously unselected package libperl-dev:i386.
Preparing to unpack .../35-libperl-dev_5.40.0-8_i386.deb ...
Unpacking libperl-dev:i386 (5.40.0-8) ...
Setting up libpipeline1:i386 (1.5.8-1) ...
Setting up libicu72:i386 (72.1-5+b1) ...
Setting up bsdextrautils (2.40.2-12) ...
Setting up libextutils-xspp-perl (0.1800-3) ...
Setting up libmagic-mgc (1:5.45-3+b1) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libextutils-typemaps-default-perl (1.05-5) ...
Setting up libdebhelper-perl (13.20) ...
Setting up libmagic1t64:i386 (1:5.45-3+b1) ...
Setting up gettext-base (0.22.5-2) ...
Setting up m4 (1.4.19-4) ...
Setting up libperl-dev:i386 (5.40.0-8) ...
Setting up file (1:5.45-3+b1) ...
Setting up libelf1t64:i386 (0.192-4) ...
Setting up libmodule-build-perl (0.423400-2) ...
Setting up autotools-dev (20220109.1) ...
Setting up autopoint (0.22.5-2) ...
Setting up autoconf (2.72-3) ...
Setting up libcapture-tiny-perl (0.48-2) ...
Setting up dwz (0.15-1+b1) ...
Setting up sensible-utils (0.0.24) ...
Setting up libuchardet0:i386 (0.0.8-1+b2) ...
Setting up libxml2:i386 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Setting up automake (1:1.16.5-1.3) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up libfile-stripnondeterminism-perl (1.14.0-1) ...
Setting up gettext (0.22.5-2) ...
Setting up libtool (2.4.7-8) ...
Setting up libextutils-cppguess-perl (0.27-1) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up dh-strip-nondeterminism (1.14.0-1) ...
Setting up groff-base (1.23.0-6) ...
Setting up libmodule-build-withxspp-perl (0.14-4) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up man-db (2.13.0-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up debhelper (13.20) ...
Processing triggers for libc-bin (2.40-4) ...
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Writing extended state information...
Building tag database...
 -> Finished parsing the build-deps
Reading package lists...
Building dependency tree...
Reading state information...
fakeroot is already the newest version (1.36-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
I: Building the package
I: Running cd /build/reproducible-path/libboost-geometry-utils-perl-0.15/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../libboost-geometry-utils-perl_0.15-3_source.changes
dpkg-buildpackage: info: source package libboost-geometry-utils-perl
dpkg-buildpackage: info: source version 0.15-3
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Jelmer Vernooij <jelmer@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture i386
 fakeroot debian/rules clean
dh clean
   dh_clean
 debian/rules build
dh build
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
	/usr/bin/perl Build.PL --installdirs vendor --config "optimize=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libboost-geometry-utils-perl-0.15=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" --config "ld=i686-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libboost-geometry-utils-perl-0.15=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro"
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Boost-Geometry-Utils' version '0.15'
   dh_auto_build
	/usr/bin/perl Build
Building Boost-Geometry-Utils
Processing XS typemap files...
Generating main XS file...
cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++
cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++
g++ -I/usr/lib/i386-linux-gnu/perl/5.40/CORE '-DVERSION="0.15"' '-DXS_VERSION="0.15"' -fPIC -xc++ -DHAS_BOOL -Isrc -Ibuildtmp -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE '-D_FILE_OFFSET_BITS=64' -g -O2 '-Werror=implicit-function-declaration' '-ffile-prefix-map=/build/reproducible-path/libboost-geometry-utils-perl-0.15=.' -fstack-protector-strong -Wformat '-Werror=format-security' -g -O2 '-Werror=implicit-function-declaration' '-ffile-prefix-map=/build/reproducible-path/libboost-geometry-utils-perl-0.15=.' -fstack-protector-strong -Wformat '-Werror=format-security' -Wdate-time '-D_FORTIFY_SOURCE=2' -o buildtmp/Utils.o buildtmp/Utils.c
cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++
cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++
In file included from src/boost/iterator/reverse_iterator.hpp:11,
                 from src/boost/range/reverse_iterator.hpp:20,
                 from src/boost/range/rend.hpp:19,
                 from src/boost/foreach.hpp:78,
                 from src/myinit.h:10,
                 from buildtmp/Utils.c:183:
src/boost/iterator.hpp:42:32: warning: 'template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator' is deprecated [-Wdeprecated-declarations]
   42 |    struct iterator_base : std::iterator<Category, T, Distance, Pointer, Reference> {};
      |                                ^~~~~~~~
In file included from /usr/include/c++/14/bits/stl_iterator_base_funcs.h:66,
                 from /usr/include/c++/14/string:47,
                 from /usr/include/c++/14/bits/locale_classes.h:40,
                 from /usr/include/c++/14/bits/ios_base.h:41,
                 from /usr/include/c++/14/ios:44,
                 from /usr/include/c++/14/ostream:40,
                 from buildtmp/main.xs:7:
/usr/include/c++/14/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
In file included from src/boost/numeric/conversion/converter.hpp:16,
                 from src/boost/numeric/conversion/cast.hpp:33,
                 from src/boost/geometry/core/radian_access.hpp:21,
                 from src/boost/geometry/geometry.hpp:28,
                 from src/boost/geometry.hpp:17,
                 from src/myinit.h:11:
src/boost/numeric/conversion/detail/converter.hpp:453:47: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
  453 |   struct trivial_converter_impl : public std::unary_function<  BOOST_DEDUCED_TYPENAME Traits::argument_type
      |                                               ^~~~~~~~~~~~~~
In file included from /usr/include/c++/14/string:49:
/usr/include/c++/14/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
src/boost/numeric/conversion/detail/converter.hpp:474:43: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
  474 |   struct rounding_converter : public std::unary_function<  BOOST_DEDUCED_TYPENAME Traits::argument_type
      |                                           ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
src/boost/numeric/conversion/detail/converter.hpp:504:47: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
  504 |   struct non_rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type
      |                                               ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
In file included from src/boost/optional/optional.hpp:36,
                 from src/boost/optional.hpp:15,
                 from src/boost/format/internals.hpp:20,
                 from src/boost/format.hpp:38,
                 from src/boost/math/policies/error_handling.hpp:31,
                 from src/boost/math/special_functions/trunc.hpp:14,
                 from src/boost/math/constants/calculate_constants.hpp:11,
                 from src/boost/math/constants/constants.hpp:288,
                 from src/boost/geometry/util/math.hpp:20,
                 from src/boost/geometry/core/radian_access.hpp:28:
src/boost/utility/compare_pointees.hpp:36:32: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
   36 | struct equal_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>
      |                                ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
src/boost/utility/compare_pointees.hpp:59:31: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
   59 | struct less_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>
      |                               ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
In file included from src/boost/smart_ptr/shared_ptr.hpp:32,
                 from src/boost/shared_ptr.hpp:17,
                 from src/boost/format/alt_sstream.hpp:21,
                 from src/boost/format/internals.hpp:23:
src/boost/smart_ptr/detail/shared_count.hpp:323:33: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  323 |     explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )
      |                                 ^~~~~~~~
In file included from /usr/include/c++/14/memory:78,
                 from src/boost/container/container_fwd.hpp:36,
                 from src/boost/lexical_cast.hpp:170,
                 from src/boost/math/constants/constants.hpp:17:
/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
src/boost/smart_ptr/shared_ptr.hpp:247:65: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  247 | template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
      |                                                                 ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
src/boost/smart_ptr/shared_ptr.hpp:446:31: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  446 |     explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn()
      |                               ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
src/boost/smart_ptr/shared_ptr.hpp:459:22: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  459 |     shared_ptr( std::auto_ptr<Y> && r ): px(r.get()), pn()
      |                      ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
src/boost/smart_ptr/shared_ptr.hpp:525:34: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  525 |     shared_ptr & operator=( std::auto_ptr<Y> & r )
      |                                  ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
src/boost/smart_ptr/shared_ptr.hpp:534:34: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  534 |     shared_ptr & operator=( std::auto_ptr<Y> && r )
      |                                  ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
src/boost/smart_ptr/shared_ptr.hpp: In member function 'boost::shared_ptr<T>& boost::shared_ptr<T>::operator=(std::auto_ptr<_Up>&&)':
src/boost/smart_ptr/shared_ptr.hpp:536:38: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  536 |         this_type( static_cast< std::auto_ptr<Y> && >( r ) ).swap( *this );
      |                                      ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
In file included from src/boost/geometry/algorithms/detail/overlay/get_turns.hpp:57,
                 from src/boost/geometry/algorithms/disjoint.hpp:32,
                 from src/boost/geometry/algorithms/num_points.hpp:28,
                 from src/boost/geometry/algorithms/detail/throw_on_empty_input.hpp:15,
                 from src/boost/geometry/algorithms/distance.hpp:28,
                 from src/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp:16,
                 from src/boost/geometry/strategies/strategies.hpp:33,
                 from src/boost/geometry/geometry.hpp:35:
src/boost/geometry/algorithms/detail/sections/sectionalize.hpp: In constructor 'boost::geometry::section<Box, DimensionCount>::section()':
src/boost/geometry/algorithms/detail/sections/sectionalize.hpp:84:35: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   84 |         for (register std::size_t i = 0; i < DimensionCount; i++)
      |                                   ^
In file included from src/boost/geometry/strategies/strategies.hpp:47:
src/boost/geometry/strategies/agnostic/hull_graham_andrew.hpp: In static member function 'static void boost::geometry::strategy::convex_hull::graham_andrew<InputGeometry, OutputPoint>::add_to_hull(const point_type&, container_type&)':
src/boost/geometry/strategies/agnostic/hull_graham_andrew.hpp:322:30: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  322 |         register std::size_t output_size = output.size();
      |                              ^~~~~~~~~~~
In file included from src/boost/numeric/ublas/traits.hpp:21,
                 from src/boost/numeric/ublas/storage.hpp:26,
                 from src/boost/numeric/ublas/vector.hpp:19,
                 from src/boost/geometry/strategies/transform/matrix_transformers.hpp:25,
                 from src/boost/geometry/strategies/strategies.hpp:54:
src/boost/numeric/ublas/detail/iterator.hpp: At global scope:
src/boost/numeric/ublas/detail/iterator.hpp:111:21: warning: 'template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator' is deprecated [-Wdeprecated-declarations]
  111 |         public std::iterator<IC, T> {
      |                     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
src/boost/numeric/ublas/detail/iterator.hpp:149:21: warning: 'template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator' is deprecated [-Wdeprecated-declarations]
  149 |         public std::iterator<IC, T> {
      |                     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
src/boost/numeric/ublas/detail/iterator.hpp:204:21: warning: 'template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator' is deprecated [-Wdeprecated-declarations]
  204 |         public std::iterator<IC, T> {
      |                     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
In file included from src/boost/algorithm/string/case_conv.hpp:24,
                 from src/boost/algorithm/string.hpp:20,
                 from src/boost/geometry/io/wkt/read.hpp:22,
                 from src/boost/geometry/multi/io/wkt/read.hpp:23,
                 from src/boost/geometry/multi/io/wkt/wkt.hpp:17,
                 from src/boost/geometry/multi/multi.hpp:75,
                 from src/boost/geometry/geometry.hpp:75:
src/boost/algorithm/string/detail/case_conv.hpp:33:44: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
   33 |             struct to_lowerF : public std::unary_function<CharT, CharT>
      |                                            ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
src/boost/algorithm/string/detail/case_conv.hpp:53:44: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
   53 |             struct to_upperF : public std::unary_function<CharT, CharT>
      |                                            ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
In file included from src/boost/bind/mem_fn.hpp:25,
                 from src/boost/mem_fn.hpp:22,
                 from src/boost/function/detail/prologue.hpp:18,
                 from src/boost/function.hpp:24,
                 from src/boost/algorithm/string/detail/find_iterator.hpp:18,
                 from src/boost/algorithm/string/find_iterator.hpp:24,
                 from src/boost/algorithm/string/iter_find.hpp:27,
                 from src/boost/algorithm/string/split.hpp:16,
                 from src/boost/algorithm/string.hpp:23:
src/boost/get_pointer.hpp:27:40: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   27 | template<class T> T * get_pointer(std::auto_ptr<T> const& p)
      |                                        ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
In file included from src/boost/function/detail/maybe_include.hpp:18,
                 from src/boost/function/detail/function_iterate.hpp:14,
                 from src/boost/preprocessor/iteration/detail/iter/forward1.hpp:52,
                 from src/boost/function.hpp:64:
src/boost/function/function_template.hpp:656:19: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
  656 |     , public std::unary_function<T0,R>
      |                   ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
In file included from src/boost/function/detail/maybe_include.hpp:23,
                 from src/boost/function/detail/function_iterate.hpp:14,
                 from src/boost/preprocessor/iteration/detail/iter/forward1.hpp:57:
src/boost/function/function_template.hpp:660:19: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
  660 |     , public std::binary_function<T0,T1,R>
      |                   ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
In file included from src/boost/algorithm/string/iter_find.hpp:28:
src/boost/algorithm/string/detail/util.hpp:93:29: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
   93 |                 public std::unary_function< iterator_range<IteratorT>, SeqT >
      |                             ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
In file included from src/boost/polygon/polygon.hpp:47,
                 from src/boost/geometry/geometries/adapted/boost_polygon/point.hpp:16,
                 from src/boost/geometry/geometries/adapted/boost_polygon.hpp:12,
                 from src/myinit.h:19:
src/boost/polygon/polygon_traits.hpp:1177:36: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
 1177 |     class less_point : public std::binary_function<Point, Point, bool> {
      |                                    ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
In file included from src/boost/polygon/polygon.hpp:53:
src/boost/polygon/detail/max_cover.hpp:39:45: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
   39 |     class lessEdgeAssociation : public std::binary_function<const EdgeAssociation&, const EdgeAssociation&, bool> {
      |                                             ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
In file included from src/boost/polygon/polygon.hpp:59:
src/boost/polygon/detail/boolean_op_45.hpp:153:47: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
  153 |     class lessScan45ElementRise : public std::binary_function<Scan45Element, Scan45Element, bool> {
      |                                               ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
src/boost/polygon/detail/boolean_op_45.hpp:462:43: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
  462 |       class lessScan45Point : public std::binary_function<Point, Point, bool> {
      |                                           ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
In file included from src/boost/polygon/polygon.hpp:80:
src/boost/polygon/detail/polygon_arbitrary_formation.hpp:25:36: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
   25 |     class less_point : public std::binary_function<Point, Point, bool> {
      |                                    ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
src/boost/polygon/detail/polygon_arbitrary_formation.hpp:267:40: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
  267 |     class less_half_edge : public std::binary_function<half_edge, half_edge, bool> {
      |                                        ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
src/boost/polygon/detail/polygon_arbitrary_formation.hpp:774:47: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
  774 |     class less_vertex_half_edge : public std::binary_function<vertex_half_edge, vertex_half_edge, bool> {
      |                                               ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
src/boost/polygon/detail/polygon_arbitrary_formation.hpp:1209:46: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
 1209 |     class less_half_edge_count : public std::binary_function<vertex_half_edge, vertex_half_edge, bool> {
      |                                              ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
src/boost/polygon/detail/polygon_arbitrary_formation.hpp:1227:45: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
 1227 |     class less_incoming_count : public std::binary_function<std::pair<std::pair<std::pair<Point, Point>, int>, active_tail_arbitrary*>,
      |                                             ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
In file included from src/boost/polygon/polygon_set_data.hpp:935,
                 from src/boost/polygon/polygon.hpp:81:
src/boost/polygon/detail/scan_arbitrary.hpp:318:47: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
  318 |     class less_point_down_slope : public std::binary_function<Point, Point, bool> {
      |                                               ^~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
In file included from src/myinit.h:56,
                 from src/line2av.h:4,
                 from src/myinit.h:54,
                 from src/point2av.h:4,
                 from src/myinit.h:53,
                 from src/mline2av.h:4,
                 from src/myinit.h:52,
                 from src/poly2av.h:5,
                 from src/myinit.h:51:
src/voronoi2perl.h: In function 'SV* medial_axis2perl(const VD&, bool)':
src/voronoi2perl.h:278:18: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'boost::polygon::medial_axis_cell<double>::source_index_type' {aka 'unsigned int'} [-Wformat=]
  278 |           printf("%3ld   %5s  %7s  %2ld%1s ",
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  279 |             it->cell()->source_index(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                     |
      |                                     boost::polygon::medial_axis_cell<double>::source_index_type {aka unsigned int}
src/voronoi2perl.h:278:18: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'boost::polygon::medial_axis_edge<double>::color_type' {aka 'unsigned int'} [-Wformat=]
  278 |           printf("%3ld   %5s  %7s  %2ld%1s ",
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
......
  282 |             it->color(),
      |             ~~~~~~~~~~~
      |                      |
      |                      boost::polygon::medial_axis_edge<double>::color_type {aka unsigned int}
In file included from src/boost/concept/assert.hpp:36,
                 from src/boost/concept_check.hpp:20,
                 from src/boost/range/concepts.hpp:19,
                 from src/boost/range/algorithm/equal.hpp:14,
                 from src/boost/range/iterator_range_core.hpp:29,
                 from src/boost/range/iterator_range.hpp:13,
                 from src/boost/range.hpp:28,
                 from src/boost/geometry/core/point_type.hpp:19,
                 from src/boost/geometry/core/coordinate_system.hpp:20,
                 from src/boost/geometry/core/cs.hpp:21,
                 from src/boost/geometry/geometry.hpp:19:
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/geometries/concepts/point_concept.hpp:117:5:   required from 'class boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >, boost::concepts::constraint<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/util/for_each_coordinate.hpp:69:5:   required from 'class boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/line2av.h:18:5:   required from here
   18 |     av_store_point_xy(pointav, ls[i].x(), ls[i].y());
      |                                    ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from src/boost/concept_check.hpp:32:
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >]':
src/boost/geometry/util/for_each_coordinate.hpp:69:5:   required from 'class boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/line2av.h:18:5:   required from here
   18 |     av_store_point_xy(pointav, ls[i].x(), ls[i].y());
      |                                    ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Point<Geometry>::~Point() [with Geometry = boost::geometry::model::d2::point_xy<double>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:117:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  117 |     BOOST_CONCEPT_USAGE(Point)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag> >]':
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag> >, boost::concepts::constraint<boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag> >, boost::concepts::requirement<boost::concepts::failed************ boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag>::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag>]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag>]':
src/boost/iterator/iterator_concepts.hpp:116:7:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::random_access_traversal_tag; Y = boost::incrementable_traversal_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag> >]':
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag> >, boost::concepts::constraint<boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag> >, boost::concepts::requirement<boost::concepts::failed************ boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag>::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag>]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag>]':
src/boost/range/concepts.hpp:140:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::constraint<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::random_access_traversal_tag; Y = boost::single_pass_traversal_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::constraint<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:259:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::constraint<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:260:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag> >]':
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag> >, boost::concepts::constraint<boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag> >, boost::concepts::requirement<boost::concepts::failed************ boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>]':
src/boost/range/concepts.hpp:179:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::constraint<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::random_access_traversal_tag; Y = boost::forward_traversal_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::constraint<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:299:9:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::constraint<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:300:9:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:333:9:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from src/boost/mpl/aux_/integral_wrapper.hpp:22,
                 from src/boost/mpl/int.hpp:20,
                 from src/boost/mpl/lambda_fwd.hpp:23,
                 from src/boost/mpl/aux_/na_spec.hpp:18,
                 from src/boost/mpl/if.hpp:19,
                 from src/boost/foreach.hpp:71:
src/boost/concept_check.hpp:571:17: note: in a call to non-static member function 'boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::~BidirectionalIteratorConcept()'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:571:3: note: in expansion of macro 'BOOST_concept'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:334:9:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:571:17: note: in a call to non-static member function 'boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::~BidirectionalIteratorConcept()'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:571:3: note: in expansion of macro 'BOOST_concept'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:351:9:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:600:17: note: in a call to non-static member function 'boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::~RandomAccessIteratorConcept()'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:600:3: note: in expansion of macro 'BOOST_concept'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:352:9:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:600:17: note: in a call to non-static member function 'boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >::~RandomAccessIteratorConcept()'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:600:3: note: in expansion of macro 'BOOST_concept'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:80:5:   required from 'class boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:348:12: note: in a call to non-static member function 'boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::~RandomAccessRangeConcept()'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:84:5:   required from 'class boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Linestring<Geometry>::~Linestring() [with Geometry = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/linestring_concept.hpp:84:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   84 |     BOOST_CONCEPT_USAGE(Linestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_polygon.hpp:51:5:   required from 'class boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/poly2av.h:54:36:   required from here
   54 |         polygon poly = multi_poly[i];
      |                                    ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:80:5:   required from 'class boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_polygon.hpp:51:5:   required from 'class boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/poly2av.h:54:36:   required from here
   54 |         polygon poly = multi_poly[i];
      |                                    ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:348:12: note: in a call to non-static member function 'boost::RandomAccessRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >::~RandomAccessRangeConcept()'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/geometry/geometries/concepts/ring_concept.hpp:60:5:   required from 'class boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_polygon.hpp:51:5:   required from 'class boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/poly2av.h:54:36:   required from here
   54 |         polygon poly = multi_poly[i];
      |                                    ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/geometry/geometries/concepts/polygon_concept.hpp:52:5:   required from 'class boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_polygon.hpp:51:5:   required from 'class boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/poly2av.h:54:36:   required from here
   54 |         polygon poly = multi_poly[i];
      |                                    ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Ring<Geometry>::~Ring() [with Geometry = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/ring_concept.hpp:60:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   60 |     BOOST_CONCEPT_USAGE(Ring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/geometry/geometries/concepts/polygon_concept.hpp:79:5:   required from 'class boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_polygon.hpp:51:5:   required from 'class boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/poly2av.h:54:36:   required from here
   54 |         polygon poly = multi_poly[i];
      |                                    ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/geometry/multi/geometries/multi_polygon.hpp:51:5:   required from 'class boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/poly2av.h:54:36:   required from here
   54 |         polygon poly = multi_poly[i];
      |                                    ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Polygon<PolygonType>::~Polygon() [with PolygonType = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/polygon_concept.hpp:79:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   79 |     BOOST_CONCEPT_USAGE(Polygon)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/point_concept.hpp:117:5:   required from 'class boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >, boost::concepts::constraint<boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Point<boost::geometry::model::d2::point_xy<double> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/util/for_each_coordinate.hpp:69:5:   required from 'class boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/line2av.h:18:5:   required from here
   18 |     av_store_point_xy(pointav, ls[i].x(), ls[i].y());
      |                                    ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Point<Geometry>::~Point() [with Geometry = boost::geometry::model::d2::point_xy<double>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:117:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  117 |     BOOST_CONCEPT_USAGE(Point)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:162:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  162 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag>]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag> >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::incrementable_traversal_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::random_access_traversal_tag; Y = boost::incrementable_traversal_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:124:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  124 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:236:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  236 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag>]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag> >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::single_pass_traversal_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::random_access_traversal_tag; Y = boost::single_pass_traversal_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:162:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  162 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:124:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  124 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:236:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  236 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:262:10: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  262 |          BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |          ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:132:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  132 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag> >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::random_access_traversal_tag; Y = boost::forward_traversal_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:132:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  132 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:140:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  140 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::InputIterator<TT>::~InputIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:515:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  515 |       BOOST_CONCEPT_USAGE(InputIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::ForwardIterator<TT>::~ForwardIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:546:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  546 |       BOOST_CONCEPT_USAGE(ForwardIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::BidirectionalIterator<TT>::~BidirectionalIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:574:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  574 |       BOOST_CONCEPT_USAGE(BidirectionalIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:140:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  140 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::InputIterator<TT>::~InputIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:515:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  515 |       BOOST_CONCEPT_USAGE(InputIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::ForwardIterator<TT>::~ForwardIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:546:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  546 |       BOOST_CONCEPT_USAGE(ForwardIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::BidirectionalIterator<TT>::~BidirectionalIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:574:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  574 |       BOOST_CONCEPT_USAGE(BidirectionalIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Comparable<TT>::~Comparable() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:256:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  256 |     BOOST_CONCEPT_USAGE(Comparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::RandomAccessIterator<TT>::~RandomAccessIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:604:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  604 |       BOOST_CONCEPT_USAGE(RandomAccessIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Comparable<TT>::~Comparable() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:256:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  256 |     BOOST_CONCEPT_USAGE(Comparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::RandomAccessIterator<TT>::~RandomAccessIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:604:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  604 |       BOOST_CONCEPT_USAGE(RandomAccessIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/linestring_concept.hpp:84:5:   required from 'class boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Linestring<Geometry>::~Linestring() [with Geometry = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/linestring_concept.hpp:84:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   84 |     BOOST_CONCEPT_USAGE(Linestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_polygon.hpp:51:5:   required from 'class boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/poly2av.h:54:36:   required from here
   54 |         polygon poly = multi_poly[i];
      |                                    ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:262:10: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  262 |          BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |          ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/ring_concept.hpp:60:5:   required from 'class boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Ring<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_polygon.hpp:51:5:   required from 'class boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/poly2av.h:54:36:   required from here
   54 |         polygon poly = multi_poly[i];
      |                                    ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Ring<Geometry>::~Ring() [with Geometry = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/ring_concept.hpp:60:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   60 |     BOOST_CONCEPT_USAGE(Ring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/polygon_concept.hpp:79:5:   required from 'class boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_polygon.hpp:51:5:   required from 'class boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/poly2av.h:54:36:   required from here
   54 |         polygon poly = multi_poly[i];
      |                                    ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Polygon<PolygonType>::~Polygon() [with PolygonType = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/polygon_concept.hpp:79:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   79 |     BOOST_CONCEPT_USAGE(Polygon)
      |     ^~~~~~~~~~~~~~~~~~~
In file included from src/myinit.h:55:
src/medial_axis.hpp: In instantiation of 'void boost::polygon::medial_axis<T, TRAITS>::_build() [with T = double; TRAITS = boost::polygon::medial_axis_traits<double>]':
src/boost/polygon/voronoi_builder.hpp:125:19:   required from 'void boost::polygon::voronoi_builder<T, CTT, VP>::construct(OUTPUT*) [with OUTPUT = boost::polygon::medial_axis<double>; T = int; CTT = boost::polygon::detail::voronoi_ctype_traits<int>; VP = boost::polygon::detail::voronoi_predicates<boost::polygon::detail::voronoi_ctype_traits<int> >]'
  125 |     output->_build();
      |     ~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":286:22:   required from here
src/medial_axis.hpp:1301:14: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'boost::polygon::medial_axis_edge<double>::color_type' {aka 'unsigned int'} [-Wformat=]
 1301 |       printf("edge %lld: %lld, %lld, %lld, %ld, %ld, %s, %s, %s, %s, %s\n",
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
 1306 |           it->color(),
      |           ~~~~~~~~~~~
      |                    |
      |                    boost::polygon::medial_axis_edge<double>::color_type {aka unsigned int}
src/medial_axis.hpp:1301:14: warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'boost::polygon::medial_axis_cell<double>::source_index_type' {aka 'unsigned int'} [-Wformat=]
 1301 |       printf("edge %lld: %lld, %lld, %lld, %ld, %ld, %s, %s, %s, %s, %s\n",
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
 1307 |           it->cell()->source_index(),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                   |
      |                                   boost::polygon::medial_axis_cell<double>::source_index_type {aka unsigned int}
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5:   required from 'class boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> > >, boost::concepts::constraint<boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:74:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::linestring_tag, const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
   74 | struct check<linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_points.hpp:158:35:   required from 'std::size_t boost::geometry::num_points(const Geometry&, bool) [with Geometry = model::linestring<model::d2::point_xy<double> >; std::size_t = unsigned int]'
  158 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/line2av.h:11:60:   required from here
   11 |   const unsigned int line_len = boost::geometry::num_points(ls);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> >]':
src/boost/geometry/geometries/concepts/segment_concept.hpp:99:5:   required from 'class boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:74:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::linestring_tag, const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
   74 | struct check<linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_points.hpp:158:35:   required from 'std::size_t boost::geometry::num_points(const Geometry&, bool) [with Geometry = model::linestring<model::d2::point_xy<double> >; std::size_t = unsigned int]'
  158 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/line2av.h:11:60:   required from here
   11 |   const unsigned int line_len = boost::geometry::num_points(ls);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPoint<Geometry>::~ConstPoint() [with Geometry = boost::geometry::model::d2::point_xy<double>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(ConstPoint)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ForwardRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ForwardRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::ForwardRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:74:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::linestring_tag, const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
   74 | struct check<linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_points.hpp:158:35:   required from 'std::size_t boost::geometry::num_points(const Geometry&, bool) [with Geometry = model::linestring<model::d2::point_xy<double> >; std::size_t = unsigned int]'
  158 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/line2av.h:11:60:   required from here
   11 |   const unsigned int line_len = boost::geometry::num_points(ls);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::ForwardRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:111:5:   required from 'class boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:74:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::linestring_tag, const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
   74 | struct check<linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_points.hpp:158:35:   required from 'std::size_t boost::geometry::num_points(const Geometry&, bool) [with Geometry = model::linestring<model::d2::point_xy<double> >; std::size_t = unsigned int]'
  158 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/line2av.h:11:60:   required from here
   11 |   const unsigned int line_len = boost::geometry::num_points(ls);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:296:12: note: in a call to non-static member function 'boost::ForwardRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::~ForwardRangeConcept()'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:116:5:   required from 'class boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:74:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::linestring_tag, const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
   74 | struct check<linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_points.hpp:158:35:   required from 'std::size_t boost::geometry::num_points(const Geometry&, bool) [with Geometry = model::linestring<model::d2::point_xy<double> >; std::size_t = unsigned int]'
  158 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/line2av.h:11:60:   required from here
   11 |   const unsigned int line_len = boost::geometry::num_points(ls);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:74:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::linestring_tag, const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
   74 | struct check<linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_points.hpp:158:35:   required from 'std::size_t boost::geometry::num_points(const Geometry&, bool) [with Geometry = model::linestring<model::d2::point_xy<double> >; std::size_t = unsigned int]'
  158 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/line2av.h:11:60:   required from here
   11 |   const unsigned int line_len = boost::geometry::num_points(ls);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstLinestring<Geometry>::~ConstLinestring() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/linestring_concept.hpp:116:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  116 |     BOOST_CONCEPT_USAGE(ConstLinestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag> >]':
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag> >, boost::concepts::constraint<boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag> >, boost::concepts::requirement<boost::concepts::failed************ boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>]':
src/boost/concept_check.hpp:576:11:   required from 'boost::BidirectionalIterator<TT>::~BidirectionalIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:333:9:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = std::random_access_iterator_tag; Y = std::bidirectional_iterator_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag> >]':
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag> >, boost::concepts::constraint<boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag> >, boost::concepts::requirement<boost::concepts::failed************ boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>]':
src/boost/concept_check.hpp:606:11:   required from 'boost::RandomAccessIterator<TT>::~RandomAccessIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:351:9:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = std::random_access_iterator_tag; Y = std::random_access_iterator_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/geometry/geometries/concepts/ring_concept.hpp:90:5:   required from 'class boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/geometry/geometries/concepts/polygon_concept.hpp:105:5:   required from 'class boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstRing<Geometry>::~ConstRing() [with Geometry = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/ring_concept.hpp:90:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   90 |     BOOST_CONCEPT_USAGE(ConstRing)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/geometry/geometries/concepts/polygon_concept.hpp:126:5:   required from 'class boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::constraint<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/geometry/multi/geometries/concepts/multi_polygon_concept.hpp:70:5:   required from 'class boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPolygon<PolygonType>::~ConstPolygon() [with PolygonType = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/polygon_concept.hpp:126:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  126 |     BOOST_CONCEPT_USAGE(ConstPolygon)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >, boost::concepts::constraint<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/range/concepts.hpp:259:10:   required from 'struct boost::SinglePassRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]':
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >, boost::concepts::constraint<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/range/concepts.hpp:299:9:   required from 'struct boost::ForwardRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/range/concepts.hpp:333:9:   required from 'struct boost::BidirectionalRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:571:17: note: in a call to non-static member function 'boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >::~BidirectionalIteratorConcept()'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:571:3: note: in expansion of macro 'BOOST_concept'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]':
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/range/concepts.hpp:351:9:   required from 'struct boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >, boost::concepts::constraint<boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:600:17: note: in a call to non-static member function 'boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >::~RandomAccessIteratorConcept()'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:600:3: note: in expansion of macro 'BOOST_concept'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:80:5:   required from 'class boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:348:12: note: in a call to non-static member function 'boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::~RandomAccessRangeConcept()'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]':
src/boost/geometry/multi/geometries/concepts/multi_polygon_concept.hpp:76:5:   required from 'class boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstMultiPolygon<Geometry>::~ConstMultiPolygon() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/multi/geometries/concepts/multi_polygon_concept.hpp:76:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   76 |     BOOST_CONCEPT_USAGE(ConstMultiPolygon)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >, boost::concepts::constraint<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:259:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >, boost::concepts::constraint<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:260:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >, boost::concepts::constraint<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:299:9:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >, boost::concepts::constraint<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:300:9:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:333:9:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:571:17: note: in a call to non-static member function 'boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >::~BidirectionalIteratorConcept()'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:571:3: note: in expansion of macro 'BOOST_concept'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:334:9:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:571:17: note: in a call to non-static member function 'boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >::~BidirectionalIteratorConcept()'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:571:3: note: in expansion of macro 'BOOST_concept'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:351:9:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >, boost::concepts::constraint<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:600:17: note: in a call to non-static member function 'boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >::~RandomAccessIteratorConcept()'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:600:3: note: in expansion of macro 'BOOST_concept'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]':
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/range/concepts.hpp:352:9:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >, boost::concepts::constraint<boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:600:17: note: in a call to non-static member function 'boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >::~RandomAccessIteratorConcept()'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/preprocessor/cat.hpp:29:34: note: in definition of macro 'BOOST_PP_CAT_I'
   29 | #    define BOOST_PP_CAT_I(a, b) a ## b
      |                                  ^
src/boost/concept/detail/concept_def.hpp:39:12: note: in expansion of macro 'BOOST_PP_CAT'
   39 |     struct BOOST_PP_CAT(name,Concept)                                           \
      |            ^~~~~~~~~~~~
src/boost/concept_check.hpp:600:3: note: in expansion of macro 'BOOST_concept'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |   ^~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:80:5:   required from 'class boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:348:12: note: in a call to non-static member function 'boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::~RandomAccessRangeConcept()'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp:54:5:   required from 'class boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::MultiLinestring<Geometry>::~MultiLinestring() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   36 |       ~model()
      |       ^
src/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp:54:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   54 |     BOOST_CONCEPT_USAGE(MultiLinestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/geometry/geometries/concepts/polygon_concept.hpp:126:5:   required from 'class boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:86:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::polygon_tag, const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, true>'
   86 | struct check<polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:186:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  186 |     concept::check<Geometry1 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:86:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::polygon_tag, const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, true>'
   86 | struct check<polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:186:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  186 |     concept::check<Geometry1 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPolygon<PolygonType>::~ConstPolygon() [with PolygonType = const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/polygon_concept.hpp:126:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  126 |     BOOST_CONCEPT_USAGE(ConstPolygon)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::ForwardRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:111:5:   required from 'class boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:296:12: note: in a call to non-static member function 'boost::ForwardRangeConcept<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::~ForwardRangeConcept()'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:116:5:   required from 'class boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp:71:5:   required from 'class boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstLinestring<Geometry>::~ConstLinestring() [with Geometry = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/linestring_concept.hpp:116:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  116 |     BOOST_CONCEPT_USAGE(ConstLinestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::RandomAccessRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/geometry/geometries/concepts/linestring_concept.hpp:80:5:   required from 'class boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:348:12: note: in a call to non-static member function 'boost::RandomAccessRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::~RandomAccessRangeConcept()'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]':
src/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp:77:5:   required from 'class boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstMultiLinestring<Geometry>::~ConstMultiLinestring() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   36 |       ~model()
      |       ^
src/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp:77:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   77 |     BOOST_CONCEPT_USAGE(ConstMultiLinestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5:   required from 'class boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:62:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::point_tag, const boost::geometry::model::d2::point_xy<double>, true>'
   62 | struct check<point_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::d2::point_xy<double>, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::d2::point_xy<double>]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/within.hpp:262:36:   required from 'bool boost::geometry::within(const Geometry1&, const Geometry2&) [with Geometry1 = model::d2::point_xy<double>; Geometry2 = model::polygon<model::d2::point_xy<double>, false, false>]'
  262 |     concept::check<Geometry1 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":147:37:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> >]':
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:62:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::point_tag, const boost::geometry::model::d2::point_xy<double>, true>'
   62 | struct check<point_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::d2::point_xy<double>, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::d2::point_xy<double>]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/within.hpp:262:36:   required from 'bool boost::geometry::within(const Geometry1&, const Geometry2&) [with Geometry1 = model::d2::point_xy<double>; Geometry2 = model::polygon<model::d2::point_xy<double>, false, false>]'
  262 |     concept::check<Geometry1 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":147:37:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPoint<Geometry>::~ConstPoint() [with Geometry = const boost::geometry::model::d2::point_xy<double>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(ConstPoint)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]':
src/boost/geometry/strategies/concepts/within_concept.hpp:104:5:   required from 'class boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >, boost::concepts::constraint<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/within.hpp:63:5:   required from 'struct boost::geometry::detail::within::point_in_polygon<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::iterate_reverse, boost::geometry::open, boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/within.hpp:230:21:   required from 'static bool boost::geometry::dispatch::within<Point, Polygon, boost::geometry::point_tag, boost::geometry::polygon_tag>::apply(const Point&, const Polygon&, const Strategy&) [with Strategy = boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void>; Point = boost::geometry::model::d2::point_xy<double>; Polygon = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
  223 |         return detail::within::point_in_polygon
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  224 |             <
      |             ~        
  225 |                 Point,
      |                 ~~~~~~
  226 |                 Polygon,
      |                 ~~~~~~~~
  227 |                 order_as_direction<geometry::point_order<Polygon>::value>::value,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  228 |                 geometry::closure<Polygon>::value,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  229 |                 Strategy
      |                 ~~~~~~~~
  230 |             >::apply(point, polygon, strategy) == 1;
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/within.hpp:291:17:   required from 'bool boost::geometry::within(const Geometry1&, const Geometry2&) [with Geometry1 = model::d2::point_xy<double>; Geometry2 = model::polygon<model::d2::point_xy<double>, false, false>]'
  287 |     return dispatch::within
      |            ~~~~~~~~~~~~~~~~
  288 |         <
      |         ~        
  289 |             Geometry1,
      |             ~~~~~~~~~~
  290 |             Geometry2
      |             ~~~~~~~~~
  291 |         >::apply(geometry1, geometry2, strategy_type());
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":147:37:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]':
src/boost/geometry/algorithms/within.hpp:63:5:   required from 'struct boost::geometry::detail::within::point_in_polygon<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::iterate_reverse, boost::geometry::open, boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/within.hpp:230:21:   required from 'static bool boost::geometry::dispatch::within<Point, Polygon, boost::geometry::point_tag, boost::geometry::polygon_tag>::apply(const Point&, const Polygon&, const Strategy&) [with Strategy = boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void>; Point = boost::geometry::model::d2::point_xy<double>; Polygon = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
  223 |         return detail::within::point_in_polygon
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  224 |             <
      |             ~        
  225 |                 Point,
      |                 ~~~~~~
  226 |                 Polygon,
      |                 ~~~~~~~~
  227 |                 order_as_direction<geometry::point_order<Polygon>::value>::value,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  228 |                 geometry::closure<Polygon>::value,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  229 |                 Strategy
      |                 ~~~~~~~~
  230 |             >::apply(point, polygon, strategy) == 1;
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/within.hpp:291:17:   required from 'bool boost::geometry::within(const Geometry1&, const Geometry2&) [with Geometry1 = model::d2::point_xy<double>; Geometry2 = model::polygon<model::d2::point_xy<double>, false, false>]'
  287 |     return dispatch::within
      |            ~~~~~~~~~~~~~~~~
  288 |         <
      |         ~        
  289 |             Geometry1,
      |             ~~~~~~~~~~
  290 |             Geometry2
      |             ~~~~~~~~~
  291 |         >::apply(geometry1, geometry2, strategy_type());
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":147:37:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::WithinStrategyPolygonal<Strategy>::~WithinStrategyPolygonal() [with Strategy = boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void>]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/within_concept.hpp:104:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  104 |     BOOST_CONCEPT_USAGE(WithinStrategyPolygonal)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >]':
src/boost/geometry/strategies/concepts/simplify_concept.hpp:97:5:   required from 'struct boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >, boost::concepts::constraint<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:255:5:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double; Strategy = strategy::simplify::douglas_peucker<model::d2::point_xy<double>, strategy::distance::projected_point<model::d2::point_xy<double>, model::d2::point_xy<double>, void, strategy::distance::pythagoras<model::d2::point_xy<double>, model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:296:13:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double]'
  296 |     simplify(geometry, out, max_distance, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":192:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]':
src/boost/geometry/algorithms/simplify.hpp:255:5:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double; Strategy = strategy::simplify::douglas_peucker<model::d2::point_xy<double>, strategy::distance::projected_point<model::d2::point_xy<double>, model::d2::point_xy<double>, void, strategy::distance::pythagoras<model::d2::point_xy<double>, model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:296:13:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double]'
  296 |     simplify(geometry, out, max_distance, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":192:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::SimplifyStrategy<Strategy>::~SimplifyStrategy() [with Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/simplify_concept.hpp:97:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   97 |     BOOST_CONCEPT_USAGE(SimplifyStrategy)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5:   required from 'class boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<boost::geometry::model::d2::point_xy<double> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:74:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::linestring_tag, const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
   74 | struct check<linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_points.hpp:158:35:   required from 'std::size_t boost::geometry::num_points(const Geometry&, bool) [with Geometry = model::linestring<model::d2::point_xy<double> >; std::size_t = unsigned int]'
  158 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/line2av.h:11:60:   required from here
   11 |   const unsigned int line_len = boost::geometry::num_points(ls);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPoint<Geometry>::~ConstPoint() [with Geometry = boost::geometry::model::d2::point_xy<double>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(ConstPoint)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::ForwardRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::ForwardRangeConcept<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:74:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::linestring_tag, const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
   74 | struct check<linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_points.hpp:158:35:   required from 'std::size_t boost::geometry::num_points(const Geometry&, bool) [with Geometry = model::linestring<model::d2::point_xy<double> >; std::size_t = unsigned int]'
  158 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/line2av.h:11:60:   required from here
   11 |   const unsigned int line_len = boost::geometry::num_points(ls);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:262:10: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  262 |          BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |          ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/linestring_concept.hpp:116:5:   required from 'class boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstLinestring<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:74:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::linestring_tag, const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
   74 | struct check<linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_points.hpp:158:35:   required from 'std::size_t boost::geometry::num_points(const Geometry&, bool) [with Geometry = model::linestring<model::d2::point_xy<double> >; std::size_t = unsigned int]'
  158 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/line2av.h:11:60:   required from here
   11 |   const unsigned int line_len = boost::geometry::num_points(ls);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstLinestring<Geometry>::~ConstLinestring() [with Geometry = const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/linestring_concept.hpp:116:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  116 |     BOOST_CONCEPT_USAGE(ConstLinestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SignedInteger<int>]':
src/boost/concept_check.hpp:517:9:   required from 'boost::InputIterator<TT>::~InputIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48:   required from 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:101:22: note: in a call to non-static member function 'boost::SignedInteger<int>::~SignedInteger()'
  101 |   template <> struct SignedInteger<int> {};
      |                      ^~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag> >]':
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag> >, boost::concepts::constraint<boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag> >, boost::concepts::requirement<boost::concepts::failed************ boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag>::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 22 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag>]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag>]':
src/boost/concept_check.hpp:518:9:   required from 'boost::InputIterator<TT>::~InputIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48:   required from 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = std::random_access_iterator_tag; Y = std::input_iterator_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag> >]':
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag> >, boost::concepts::constraint<boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag> >, boost::concepts::requirement<boost::concepts::failed************ boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag>::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 21 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag>]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag>]':
src/boost/concept_check.hpp:548:11:   required from 'boost::ForwardIterator<TT>::~ForwardIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48:   required from 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<double>*, std::vector<boost::geometry::model::d2::point_xy<double>, std::allocator<boost::geometry::model::d2::point_xy<double> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = std::random_access_iterator_tag; Y = std::forward_iterator_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag> >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = std::random_access_iterator_tag; Y = std::bidirectional_iterator_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag> >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::random_access_iterator_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = std::random_access_iterator_tag; Y = std::random_access_iterator_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/ring_concept.hpp:90:5:   required from 'class boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstRing<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstRing<Geometry>::~ConstRing() [with Geometry = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/ring_concept.hpp:90:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   90 |     BOOST_CONCEPT_USAGE(ConstRing)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/polygon_concept.hpp:126:5:   required from 'class boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPolygon<PolygonType>::~ConstPolygon() [with PolygonType = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/polygon_concept.hpp:126:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  126 |     BOOST_CONCEPT_USAGE(ConstPolygon)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:162:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  162 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:124:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  124 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:236:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  236 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:262:10: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  262 |          BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |          ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:132:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  132 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:140:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  140 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::InputIterator<TT>::~InputIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:515:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  515 |       BOOST_CONCEPT_USAGE(InputIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::ForwardIterator<TT>::~ForwardIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:546:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  546 |       BOOST_CONCEPT_USAGE(ForwardIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::BidirectionalIterator<TT>::~BidirectionalIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:574:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  574 |       BOOST_CONCEPT_USAGE(BidirectionalIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Comparable<TT>::~Comparable() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:256:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  256 |     BOOST_CONCEPT_USAGE(Comparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::RandomAccessIterator<TT>::~RandomAccessIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>*, std::vector<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:604:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  604 |       BOOST_CONCEPT_USAGE(RandomAccessIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/multi/geometries/concepts/multi_polygon_concept.hpp:76:5:   required from 'class boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiPolygon<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:65:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_polygon_tag, const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
   65 | struct check<multi_polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/num_geometries.hpp:80:35:   required from 'std::size_t boost::geometry::num_geometries(const Geometry&) [with Geometry = model::multi_polygon<model::polygon<model::d2::point_xy<double>, false, false> >; std::size_t = unsigned int]'
   80 |     concept::check<Geometry const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/poly2av.h:51:61:   required from here
   51 |     std::size_t poly_count = boost::geometry::num_geometries(multi_poly);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstMultiPolygon<Geometry>::~ConstMultiPolygon() [with Geometry = const boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/multi/geometries/concepts/multi_polygon_concept.hpp:76:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   76 |     BOOST_CONCEPT_USAGE(ConstMultiPolygon)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:162:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  162 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:124:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  124 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:236:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  236 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:162:5:   required from 'struct boost::CopyConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:113:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  113 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:162:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  162 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:124:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:124:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  124 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:236:5:   required from 'struct boost::EqualityComparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:135:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  135 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:236:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  236 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:146:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:146:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  146 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:262:10: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  262 |          BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |          ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:132:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  132 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:132:5:   required from 'struct boost::DefaultConstructible<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:169:16:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  169 |         struct ForwardIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:132:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  132 |     BOOST_CONCEPT_USAGE(DefaultConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:185:13:   required from 'struct boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::ForwardIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::range_detail::ForwardIteratorConcept<Iterator>::~ForwardIteratorConcept() [with Iterator = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:185:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  185 |             BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:140:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  140 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::InputIterator<TT>::~InputIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:515:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  515 |       BOOST_CONCEPT_USAGE(InputIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::ForwardIterator<TT>::~ForwardIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:546:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  546 |       BOOST_CONCEPT_USAGE(ForwardIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::BidirectionalIterator<TT>::~BidirectionalIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:574:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  574 |       BOOST_CONCEPT_USAGE(BidirectionalIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:140:5:   required from 'struct boost::Assignable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:505:3:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  505 |   BOOST_concept(InputIterator,(TT))
      |                 ^~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Assignable<TT>::~Assignable() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:140:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  140 |     BOOST_CONCEPT_USAGE(Assignable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:515:7:   required from 'struct boost::InputIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:543:3:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  543 |   BOOST_concept(ForwardIterator,(TT))
      |                 ^~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::InputIterator<TT>::~InputIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:515:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  515 |       BOOST_CONCEPT_USAGE(InputIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:546:7:   required from 'struct boost::ForwardIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::ForwardIterator<TT>::~ForwardIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:546:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  546 |       BOOST_CONCEPT_USAGE(ForwardIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:574:7:   required from 'struct boost::BidirectionalIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:571:3:   required from 'struct boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  571 |   BOOST_concept(BidirectionalIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::BidirectionalIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::BidirectionalIterator<TT>::~BidirectionalIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:574:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  574 |       BOOST_CONCEPT_USAGE(BidirectionalIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Comparable<TT>::~Comparable() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:256:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  256 |     BOOST_CONCEPT_USAGE(Comparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::RandomAccessIterator<TT>::~RandomAccessIterator() [with TT = __gnu_cxx::__normal_iterator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:604:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  604 |       BOOST_CONCEPT_USAGE(RandomAccessIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:256:5:   required from 'struct boost::Comparable<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Comparable<TT>::~Comparable() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:256:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  256 |     BOOST_CONCEPT_USAGE(Comparable) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:604:7:   required from 'struct boost::RandomAccessIterator<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept_check.hpp:600:3:   required from 'struct boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >'
  600 |   BOOST_concept(RandomAccessIterator,(TT))
      |                 ^~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::RandomAccessIteratorConcept<__gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::RandomAccessIterator<TT>::~RandomAccessIterator() [with TT = __gnu_cxx::__normal_iterator<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >*, std::vector<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:604:7: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  604 |       BOOST_CONCEPT_USAGE(RandomAccessIterator)
      |       ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp:54:5:   required from 'class boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::MultiLinestring<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:59:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
   59 | struct check<multi_linestring_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/io/wkt/read.hpp:680:39:   required from 'void boost::geometry::read_wkt(const std::string&, Geometry&) [with Geometry = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; std::string = std::__cxx11::basic_string<char>]'
  680 |     geometry::concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":69:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::MultiLinestring<Geometry>::~MultiLinestring() [with Geometry = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   36 |       ~model()
      |       ^
src/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp:54:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   54 |     BOOST_CONCEPT_USAGE(MultiLinestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/polygon_concept.hpp:126:5:   required from 'class boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstPolygon<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:86:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::polygon_tag, const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, true>'
   86 | struct check<polygon_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:186:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  186 |     concept::check<Geometry1 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPolygon<PolygonType>::~ConstPolygon() [with PolygonType = const boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/polygon_concept.hpp:126:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  126 |     BOOST_CONCEPT_USAGE(ConstPolygon)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/linestring_concept.hpp:116:5:   required from 'class boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstLinestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstLinestring<Geometry>::~ConstLinestring() [with Geometry = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/linestring_concept.hpp:116:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  116 |     BOOST_CONCEPT_USAGE(ConstLinestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/range/concepts.hpp:262:10:   required from 'struct boost::SinglePassRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:296:12:   required from 'struct boost::ForwardRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  296 |     struct ForwardRangeConcept : SinglePassRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:330:12:   required from 'struct boost::BidirectionalRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  330 |     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/range/concepts.hpp:348:12:   required from 'struct boost::RandomAccessRangeConcept<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
  348 |     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   36 |       ~model()
      |       ^
src/boost/range/concepts.hpp:262:10: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  262 |          BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |          ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp:77:5:   required from 'class boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstMultiLinestring<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/concepts/check.hpp:53:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::multi_linestring_tag, const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
   53 | struct check<multi_linestring_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/intersection.hpp:187:36:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  187 |     concept::check<Geometry2 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstMultiLinestring<Geometry>::~ConstMultiLinestring() [with Geometry = const boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >]'
   36 |       ~model()
      |       ^
src/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp:77:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   77 |     BOOST_CONCEPT_USAGE(ConstMultiLinestring)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5:   required from 'class boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:62:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::point_tag, const boost::geometry::model::d2::point_xy<double>, true>'
   62 | struct check<point_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::d2::point_xy<double>, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::d2::point_xy<double>]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/within.hpp:262:36:   required from 'bool boost::geometry::within(const Geometry1&, const Geometry2&) [with Geometry1 = model::d2::point_xy<double>; Geometry2 = model::polygon<model::d2::point_xy<double>, false, false>]'
  262 |     concept::check<Geometry1 const>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":147:37:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPoint<Geometry>::~ConstPoint() [with Geometry = const boost::geometry::model::d2::point_xy<double>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(ConstPoint)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/strategies/concepts/within_concept.hpp:104:5:   required from 'class boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >, boost::concepts::constraint<boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::WithinStrategyPolygonal<boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/within.hpp:63:5:   required from 'struct boost::geometry::detail::within::point_in_polygon<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::iterate_reverse, boost::geometry::open, boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/within.hpp:230:21:   required from 'static bool boost::geometry::dispatch::within<Point, Polygon, boost::geometry::point_tag, boost::geometry::polygon_tag>::apply(const Point&, const Polygon&, const Strategy&) [with Strategy = boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void>; Point = boost::geometry::model::d2::point_xy<double>; Polygon = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
  223 |         return detail::within::point_in_polygon
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  224 |             <
      |             ~        
  225 |                 Point,
      |                 ~~~~~~
  226 |                 Polygon,
      |                 ~~~~~~~~
  227 |                 order_as_direction<geometry::point_order<Polygon>::value>::value,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  228 |                 geometry::closure<Polygon>::value,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  229 |                 Strategy
      |                 ~~~~~~~~
  230 |             >::apply(point, polygon, strategy) == 1;
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/within.hpp:291:17:   required from 'bool boost::geometry::within(const Geometry1&, const Geometry2&) [with Geometry1 = model::d2::point_xy<double>; Geometry2 = model::polygon<model::d2::point_xy<double>, false, false>]'
  287 |     return dispatch::within
      |            ~~~~~~~~~~~~~~~~
  288 |         <
      |         ~        
  289 |             Geometry1,
      |             ~~~~~~~~~~
  290 |             Geometry2
      |             ~~~~~~~~~
  291 |         >::apply(geometry1, geometry2, strategy_type());
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":147:37:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::WithinStrategyPolygonal<Strategy>::~WithinStrategyPolygonal() [with Strategy = boost::geometry::strategy::within::winding<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void>]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/within_concept.hpp:104:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  104 |     BOOST_CONCEPT_USAGE(WithinStrategyPolygonal)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/strategies/concepts/simplify_concept.hpp:97:5:   required from 'struct boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >, boost::concepts::constraint<boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:255:5:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double; Strategy = strategy::simplify::douglas_peucker<model::d2::point_xy<double>, strategy::distance::projected_point<model::d2::point_xy<double>, model::d2::point_xy<double>, void, strategy::distance::pythagoras<model::d2::point_xy<double>, model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:296:13:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double]'
  296 |     simplify(geometry, out, max_distance, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":192:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::SimplifyStrategy<Strategy>::~SimplifyStrategy() [with Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/simplify_concept.hpp:97:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   97 |     BOOST_CONCEPT_USAGE(SimplifyStrategy)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag>]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag> >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::input_iterator_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 23 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = std::random_access_iterator_tag; Y = std::input_iterator_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag>]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag> >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept_check.hpp:211:5:   required from 'struct boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<std::random_access_iterator_tag, std::forward_iterator_tag> >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 22 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::Linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/geometries/multi_linestring.hpp:52:5:   required from 'class boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mline2av.h:11:32:   required from here
   11 |   const unsigned int size = mls.size();
      |                                ^
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = std::random_access_iterator_tag; Y = std::forward_iterator_tag]'
   36 |       ~model()
      |       ^
src/boost/concept_check.hpp:211:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  211 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> > >]':
src/boost/geometry/strategies/concepts/area_concept.hpp:63:5:   required from 'class boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> > >, boost::concepts::constraint<boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/area.hpp:81:9:   required from 'static typename Strategy::return_type boost::geometry::detail::area::ring_area<Direction, Closure>::apply(const Ring&, const Strategy&) [with Ring = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>; Strategy = boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void>; boost::geometry::iterate_direction Direction = boost::geometry::iterate_reverse; boost::geometry::closure_selector Closure = boost::geometry::open; typename Strategy::return_type = double]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/correct.hpp:150:44:   required from 'static void boost::geometry::detail::correct::correct_ring<Ring, Predicate>::apply(Ring&) [with Ring = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>; Predicate = std::less<double>]'
  150 |         if (predicate(ring_area_type::apply(r, strategy_type()), zero))
      |                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/correct.hpp:171:21:   required from 'static void boost::geometry::detail::correct::correct_polygon<Polygon>::apply(Polygon&) [with Polygon = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
  167 |         correct_ring
      |         ~~~~~~~~~~~~ 
  168 |             <
      |             ~        
  169 |                 ring_type,
      |                 ~~~~~~~~~~
  170 |                 std::less<area_result_type>
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >::apply(exterior_ring(poly));
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/correct.hpp:256:39:   required from 'void boost::geometry::correct(Geometry&) [with Geometry = model::polygon<model::d2::point_xy<double>, false, false>]'
  256 |     dispatch::correct<Geometry>::apply(geometry);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":251:29:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >]':
src/boost/geometry/algorithms/area.hpp:81:9:   required from 'static typename Strategy::return_type boost::geometry::detail::area::ring_area<Direction, Closure>::apply(const Ring&, const Strategy&) [with Ring = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>; Strategy = boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void>; boost::geometry::iterate_direction Direction = boost::geometry::iterate_reverse; boost::geometry::closure_selector Closure = boost::geometry::open; typename Strategy::return_type = double]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/correct.hpp:150:44:   required from 'static void boost::geometry::detail::correct::correct_ring<Ring, Predicate>::apply(Ring&) [with Ring = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>; Predicate = std::less<double>]'
  150 |         if (predicate(ring_area_type::apply(r, strategy_type()), zero))
      |                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/correct.hpp:171:21:   required from 'static void boost::geometry::detail::correct::correct_polygon<Polygon>::apply(Polygon&) [with Polygon = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
  167 |         correct_ring
      |         ~~~~~~~~~~~~ 
  168 |             <
      |             ~        
  169 |                 ring_type,
      |                 ~~~~~~~~~~
  170 |                 std::less<area_result_type>
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >::apply(exterior_ring(poly));
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/correct.hpp:256:39:   required from 'void boost::geometry::correct(Geometry&) [with Geometry = model::polygon<model::d2::point_xy<double>, false, false>]'
  256 |     dispatch::correct<Geometry>::apply(geometry);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":251:29:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::AreaStrategy<Strategy>::~AreaStrategy() [with Strategy = boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void>]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/area_concept.hpp:63:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   63 |     BOOST_CONCEPT_USAGE(AreaStrategy)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]':
src/boost/geometry/strategies/concepts/distance_concept.hpp:195:5:   required from 'struct boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/strategies/concepts/simplify_concept.hpp:77:13:   required from 'static void boost::geometry::concept::SimplifyStrategy<Strategy>::checker::apply(const ApplyMethod&) [with ApplyMethod = double (boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::*)(const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&) const; Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/concepts/simplify_concept.hpp:99:23:   required from 'boost::geometry::concept::SimplifyStrategy<Strategy>::~SimplifyStrategy() [with Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   99 |         checker::apply(&ds_type::apply);
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/algorithms/simplify.hpp:255:5:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double; Strategy = strategy::simplify::douglas_peucker<model::d2::point_xy<double>, strategy::distance::projected_point<model::d2::point_xy<double>, model::d2::point_xy<double>, void, strategy::distance::pythagoras<model::d2::point_xy<double>, model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:296:13:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double]'
  296 |     simplify(geometry, out, max_distance, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":192:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]':
src/boost/geometry/strategies/concepts/simplify_concept.hpp:77:13:   required from 'static void boost::geometry::concept::SimplifyStrategy<Strategy>::checker::apply(const ApplyMethod&) [with ApplyMethod = double (boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::*)(const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&) const; Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/concepts/simplify_concept.hpp:99:23:   required from 'boost::geometry::concept::SimplifyStrategy<Strategy>::~SimplifyStrategy() [with Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   99 |         checker::apply(&ds_type::apply);
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/algorithms/simplify.hpp:255:5:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double; Strategy = strategy::simplify::douglas_peucker<model::d2::point_xy<double>, strategy::distance::projected_point<model::d2::point_xy<double>, model::d2::point_xy<double>, void, strategy::distance::pythagoras<model::d2::point_xy<double>, model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:296:13:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double]'
  296 |     simplify(geometry, out, max_distance, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":192:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::PointSegmentDistanceStrategy<Strategy>::~PointSegmentDistanceStrategy() [with Strategy = boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/distance_concept.hpp:195:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  195 |     BOOST_CONCEPT_USAGE(PointSegmentDistanceStrategy)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >]':
src/boost/geometry/geometries/concepts/point_concept.hpp:117:5:   required from 'class boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/arithmetic/arithmetic.hpp:142:5:   required from 'void boost::geometry::add_point(Point1&, const Point2&) [with Point1 = model::d2::point_xy<double>; Point2 = model::point<double, 2, cs::cartesian>]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp:96:22:   required from 'static bool boost::geometry::strategy::centroid::weighted_length<Point, PointOfSegment>::result(const state_type&, Point&) [with Point = boost::geometry::model::d2::point_xy<double>; PointOfSegment = boost::geometry::model::d2::point_xy<double>; state_type = boost::geometry::strategy::centroid::detail::weighted_length_sums<double, 2>]'
   96 |             add_point(centroid, state.average_sum);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:212:28:   required from 'static void boost::geometry::detail::centroid::centroid_range<Closure>::apply(const Range&, Point&, const Strategy&) [with Range = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Point = boost::geometry::model::d2::point_xy<double>; Strategy = boost::geometry::strategy::centroid::weighted_length<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double> >; boost::geometry::closure_selector Closure = boost::geometry::closed]'
  212 |             strategy.result(state, centroid);
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:333:40:   required from 'void boost::geometry::centroid(const Geometry&, Point&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>; Strategy = strategy::centroid::weighted_length<model::d2::point_xy<double>, model::d2::point_xy<double> >]'
  333 |     dispatch::centroid<Geometry>::apply(geometry, c, strategy);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:373:13:   required from 'void boost::geometry::centroid(const Geometry&, Point&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>]'
  373 |     centroid(geometry, c, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":232:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]':
src/boost/geometry/arithmetic/arithmetic.hpp:142:5:   required from 'void boost::geometry::add_point(Point1&, const Point2&) [with Point1 = model::d2::point_xy<double>; Point2 = model::point<double, 2, cs::cartesian>]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp:96:22:   required from 'static bool boost::geometry::strategy::centroid::weighted_length<Point, PointOfSegment>::result(const state_type&, Point&) [with Point = boost::geometry::model::d2::point_xy<double>; PointOfSegment = boost::geometry::model::d2::point_xy<double>; state_type = boost::geometry::strategy::centroid::detail::weighted_length_sums<double, 2>]'
   96 |             add_point(centroid, state.average_sum);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:212:28:   required from 'static void boost::geometry::detail::centroid::centroid_range<Closure>::apply(const Range&, Point&, const Strategy&) [with Range = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Point = boost::geometry::model::d2::point_xy<double>; Strategy = boost::geometry::strategy::centroid::weighted_length<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double> >; boost::geometry::closure_selector Closure = boost::geometry::closed]'
  212 |             strategy.result(state, centroid);
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:333:40:   required from 'void boost::geometry::centroid(const Geometry&, Point&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>; Strategy = strategy::centroid::weighted_length<model::d2::point_xy<double>, model::d2::point_xy<double> >]'
  333 |     dispatch::centroid<Geometry>::apply(geometry, c, strategy);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:373:13:   required from 'void boost::geometry::centroid(const Geometry&, Point&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>]'
  373 |     centroid(geometry, c, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":232:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Point<Geometry>::~Point() [with Geometry = boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:117:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  117 |     BOOST_CONCEPT_USAGE(Point)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >]':
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5:   required from 'class boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/arithmetic/arithmetic.hpp:143:5:   required from 'void boost::geometry::add_point(Point1&, const Point2&) [with Point1 = model::d2::point_xy<double>; Point2 = model::point<double, 2, cs::cartesian>]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp:96:22:   required from 'static bool boost::geometry::strategy::centroid::weighted_length<Point, PointOfSegment>::result(const state_type&, Point&) [with Point = boost::geometry::model::d2::point_xy<double>; PointOfSegment = boost::geometry::model::d2::point_xy<double>; state_type = boost::geometry::strategy::centroid::detail::weighted_length_sums<double, 2>]'
   96 |             add_point(centroid, state.average_sum);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:212:28:   required from 'static void boost::geometry::detail::centroid::centroid_range<Closure>::apply(const Range&, Point&, const Strategy&) [with Range = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Point = boost::geometry::model::d2::point_xy<double>; Strategy = boost::geometry::strategy::centroid::weighted_length<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double> >; boost::geometry::closure_selector Closure = boost::geometry::closed]'
  212 |             strategy.result(state, centroid);
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:333:40:   required from 'void boost::geometry::centroid(const Geometry&, Point&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>; Strategy = strategy::centroid::weighted_length<model::d2::point_xy<double>, model::d2::point_xy<double> >]'
  333 |     dispatch::centroid<Geometry>::apply(geometry, c, strategy);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:373:13:   required from 'void boost::geometry::centroid(const Geometry&, Point&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>]'
  373 |     centroid(geometry, c, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":232:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]':
src/boost/geometry/arithmetic/arithmetic.hpp:143:5:   required from 'void boost::geometry::add_point(Point1&, const Point2&) [with Point1 = model::d2::point_xy<double>; Point2 = model::point<double, 2, cs::cartesian>]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp:96:22:   required from 'static bool boost::geometry::strategy::centroid::weighted_length<Point, PointOfSegment>::result(const state_type&, Point&) [with Point = boost::geometry::model::d2::point_xy<double>; PointOfSegment = boost::geometry::model::d2::point_xy<double>; state_type = boost::geometry::strategy::centroid::detail::weighted_length_sums<double, 2>]'
   96 |             add_point(centroid, state.average_sum);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:212:28:   required from 'static void boost::geometry::detail::centroid::centroid_range<Closure>::apply(const Range&, Point&, const Strategy&) [with Range = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Point = boost::geometry::model::d2::point_xy<double>; Strategy = boost::geometry::strategy::centroid::weighted_length<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double> >; boost::geometry::closure_selector Closure = boost::geometry::closed]'
  212 |             strategy.result(state, centroid);
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:333:40:   required from 'void boost::geometry::centroid(const Geometry&, Point&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>; Strategy = strategy::centroid::weighted_length<model::d2::point_xy<double>, model::d2::point_xy<double> >]'
  333 |     dispatch::centroid<Geometry>::apply(geometry, c, strategy);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:373:13:   required from 'void boost::geometry::centroid(const Geometry&, Point&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>]'
  373 |     centroid(geometry, c, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":232:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPoint<Geometry>::~ConstPoint() [with Geometry = boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(ConstPoint)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/strategies/concepts/area_concept.hpp:63:5:   required from 'class boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/concept/detail/general.hpp:50:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::geometry::concept::AreaStrategy<boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void> >)>'
   50 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/area.hpp:81:9:   required from 'static typename Strategy::return_type boost::geometry::detail::area::ring_area<Direction, Closure>::apply(const Ring&, const Strategy&) [with Ring = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>; Strategy = boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void>; boost::geometry::iterate_direction Direction = boost::geometry::iterate_reverse; boost::geometry::closure_selector Closure = boost::geometry::open; typename Strategy::return_type = double]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/correct.hpp:150:44:   required from 'static void boost::geometry::detail::correct::correct_ring<Ring, Predicate>::apply(Ring&) [with Ring = boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double>, false, false>; Predicate = std::less<double>]'
  150 |         if (predicate(ring_area_type::apply(r, strategy_type()), zero))
      |                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/correct.hpp:171:21:   required from 'static void boost::geometry::detail::correct::correct_polygon<Polygon>::apply(Polygon&) [with Polygon = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>]'
  167 |         correct_ring
      |         ~~~~~~~~~~~~ 
  168 |             <
      |             ~        
  169 |                 ring_type,
      |                 ~~~~~~~~~~
  170 |                 std::less<area_result_type>
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >::apply(exterior_ring(poly));
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/correct.hpp:256:39:   required from 'void boost::geometry::correct(Geometry&) [with Geometry = model::polygon<model::d2::point_xy<double>, false, false>]'
  256 |     dispatch::correct<Geometry>::apply(geometry);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":251:29:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::AreaStrategy<Strategy>::~AreaStrategy() [with Strategy = boost::geometry::strategy::area::surveyor<boost::geometry::model::d2::point_xy<double>, void>]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/area_concept.hpp:63:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   63 |     BOOST_CONCEPT_USAGE(AreaStrategy)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/strategies/concepts/distance_concept.hpp:195:5:   required from 'struct boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/strategies/concepts/simplify_concept.hpp:77:13:   required from 'static void boost::geometry::concept::SimplifyStrategy<Strategy>::checker::apply(const ApplyMethod&) [with ApplyMethod = double (boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::*)(const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&) const; Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/concepts/simplify_concept.hpp:99:23:   required from 'boost::geometry::concept::SimplifyStrategy<Strategy>::~SimplifyStrategy() [with Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   99 |         checker::apply(&ds_type::apply);
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/algorithms/simplify.hpp:255:5:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double; Strategy = strategy::simplify::douglas_peucker<model::d2::point_xy<double>, strategy::distance::projected_point<model::d2::point_xy<double>, model::d2::point_xy<double>, void, strategy::distance::pythagoras<model::d2::point_xy<double>, model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:296:13:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double]'
  296 |     simplify(geometry, out, max_distance, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":192:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::PointSegmentDistanceStrategy<Strategy>::~PointSegmentDistanceStrategy() [with Strategy = boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/distance_concept.hpp:195:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  195 |     BOOST_CONCEPT_USAGE(PointSegmentDistanceStrategy)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/point_concept.hpp:117:5:   required from 'class boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/arithmetic/arithmetic.hpp:142:5:   required from 'void boost::geometry::add_point(Point1&, const Point2&) [with Point1 = model::d2::point_xy<double>; Point2 = model::point<double, 2, cs::cartesian>]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp:96:22:   required from 'static bool boost::geometry::strategy::centroid::weighted_length<Point, PointOfSegment>::result(const state_type&, Point&) [with Point = boost::geometry::model::d2::point_xy<double>; PointOfSegment = boost::geometry::model::d2::point_xy<double>; state_type = boost::geometry::strategy::centroid::detail::weighted_length_sums<double, 2>]'
   96 |             add_point(centroid, state.average_sum);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:212:28:   required from 'static void boost::geometry::detail::centroid::centroid_range<Closure>::apply(const Range&, Point&, const Strategy&) [with Range = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Point = boost::geometry::model::d2::point_xy<double>; Strategy = boost::geometry::strategy::centroid::weighted_length<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double> >; boost::geometry::closure_selector Closure = boost::geometry::closed]'
  212 |             strategy.result(state, centroid);
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:333:40:   required from 'void boost::geometry::centroid(const Geometry&, Point&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>; Strategy = strategy::centroid::weighted_length<model::d2::point_xy<double>, model::d2::point_xy<double> >]'
  333 |     dispatch::centroid<Geometry>::apply(geometry, c, strategy);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:373:13:   required from 'void boost::geometry::centroid(const Geometry&, Point&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>]'
  373 |     centroid(geometry, c, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":232:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Point<Geometry>::~Point() [with Geometry = boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:117:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  117 |     BOOST_CONCEPT_USAGE(Point)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5:   required from 'class boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstPoint<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/arithmetic/arithmetic.hpp:143:5:   required from 'void boost::geometry::add_point(Point1&, const Point2&) [with Point1 = model::d2::point_xy<double>; Point2 = model::point<double, 2, cs::cartesian>]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp:96:22:   required from 'static bool boost::geometry::strategy::centroid::weighted_length<Point, PointOfSegment>::result(const state_type&, Point&) [with Point = boost::geometry::model::d2::point_xy<double>; PointOfSegment = boost::geometry::model::d2::point_xy<double>; state_type = boost::geometry::strategy::centroid::detail::weighted_length_sums<double, 2>]'
   96 |             add_point(centroid, state.average_sum);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:212:28:   required from 'static void boost::geometry::detail::centroid::centroid_range<Closure>::apply(const Range&, Point&, const Strategy&) [with Range = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Point = boost::geometry::model::d2::point_xy<double>; Strategy = boost::geometry::strategy::centroid::weighted_length<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double> >; boost::geometry::closure_selector Closure = boost::geometry::closed]'
  212 |             strategy.result(state, centroid);
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:333:40:   required from 'void boost::geometry::centroid(const Geometry&, Point&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>; Strategy = strategy::centroid::weighted_length<model::d2::point_xy<double>, model::d2::point_xy<double> >]'
  333 |     dispatch::centroid<Geometry>::apply(geometry, c, strategy);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/centroid.hpp:373:13:   required from 'void boost::geometry::centroid(const Geometry&, Point&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Point = model::d2::point_xy<double>]'
  373 |     centroid(geometry, c, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":232:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstPoint<Geometry>::~ConstPoint() [with Geometry = boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/point_concept.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(ConstPoint)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]':
src/boost/geometry/strategies/concepts/distance_concept.hpp:126:5:   required from 'struct boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >, boost::concepts::constraint<boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/strategies/concepts/simplify_concept.hpp:77:13:   required from 'static void boost::geometry::concept::SimplifyStrategy<Strategy>::checker::apply(const ApplyMethod&) [with ApplyMethod = double (boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::*)(const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&) const; Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/concepts/simplify_concept.hpp:99:23:   required from 'boost::geometry::concept::SimplifyStrategy<Strategy>::~SimplifyStrategy() [with Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   99 |         checker::apply(&ds_type::apply);
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/algorithms/simplify.hpp:255:5:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double; Strategy = strategy::simplify::douglas_peucker<model::d2::point_xy<double>, strategy::distance::projected_point<model::d2::point_xy<double>, model::d2::point_xy<double>, void, strategy::distance::pythagoras<model::d2::point_xy<double>, model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:296:13:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double]'
  296 |     simplify(geometry, out, max_distance, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":192:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]':
src/boost/geometry/strategies/concepts/distance_concept.hpp:176:13:   required from 'static void boost::geometry::concept::PointSegmentDistanceStrategy<Strategy>::checker::apply(const ApplyMethod&) [with ApplyMethod = double (boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::*)(const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&) const; Strategy = boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/concepts/distance_concept.hpp:197:23:   required from 'boost::geometry::concept::PointSegmentDistanceStrategy<Strategy>::~PointSegmentDistanceStrategy() [with Strategy = boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
  197 |         checker::apply(&Strategy::apply);
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::PointSegmentDistanceStrategy<boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/strategies/concepts/simplify_concept.hpp:77:13:   required from 'static void boost::geometry::concept::SimplifyStrategy<Strategy>::checker::apply(const ApplyMethod&) [with ApplyMethod = double (boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::*)(const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&) const; Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/concepts/simplify_concept.hpp:99:23:   required from 'boost::geometry::concept::SimplifyStrategy<Strategy>::~SimplifyStrategy() [with Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   99 |         checker::apply(&ds_type::apply);
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/algorithms/simplify.hpp:255:5:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double; Strategy = strategy::simplify::douglas_peucker<model::d2::point_xy<double>, strategy::distance::projected_point<model::d2::point_xy<double>, model::d2::point_xy<double>, void, strategy::distance::pythagoras<model::d2::point_xy<double>, model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:296:13:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double]'
  296 |     simplify(geometry, out, max_distance, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":192:30:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::PointDistanceStrategy<Strategy>::~PointDistanceStrategy() [with Strategy = boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void>]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/distance_concept.hpp:126:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  126 |     BOOST_CONCEPT_USAGE(PointDistanceStrategy)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/sections/sectionalize.hpp: In instantiation of 'boost::geometry::section<Box, DimensionCount>::section() [with Box = boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >; unsigned int DimensionCount = 2]':
src/boost/geometry/algorithms/detail/sections/sectionalize.hpp:392:22:   required from 'static void boost::geometry::detail::sectionalize::sectionalize_range<Range, Closure, Reverse, Point, Sections, DimensionCount, MaxCount>::apply(const Range&, Sections&, boost::geometry::ring_identifier) [with Range = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::closure_selector Closure = boost::geometry::closed; bool Reverse = false; Point = boost::geometry::model::d2::point_xy<double>; Sections = boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, 2>; unsigned int DimensionCount = 2; unsigned int MaxCount = 10]'
  392 |         section_type section;
      |                      ^~~~~~~
src/boost/geometry/algorithms/detail/sections/sectionalize.hpp:640:30:   required from 'void boost::geometry::sectionalize(const Geometry&, Sections&, int) [with bool Reverse = false; Geometry = model::linestring<model::d2::point_xy<double> >; Sections = sections<model::box<model::d2::point_xy<double> >, 2>]'
  640 |     sectionalizer_type::apply(geometry, sections, ring_id);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/overlay/get_turns.hpp:442:41:   required from 'static void boost::geometry::detail::get_turns::get_turns_generic<Geometry1, Geometry2, Reverse1, Reverse2, Turns, TurnPolicy, InterruptPolicy>::apply(int, const Geometry1&, int, const Geometry2&, Turns&, InterruptPolicy&) [with Geometry1 = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Geometry2 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; bool Reverse1 = false; bool Reverse2 = true; Turns = std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> > > >; TurnPolicy = boost::geometry::detail::overlay::get_turn_info<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >, boost::geometry::detail::overlay::calculate_distance_policy>; InterruptPolicy = boost::geometry::detail::get_turns::no_interrupt_policy]'
  442 |         geometry::sectionalize<Reverse1>(geometry1, sec1, 0);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/overlay/get_turns.hpp:864:23:   required from 'void boost::geometry::get_turns(const Geometry1&, const Geometry2&, Turns&, InterruptPolicy&) [with bool Reverse1 = false; bool Reverse2 = true; AssignPolicy = detail::overlay::calculate_distance_policy; Geometry1 = model::linestring<model::d2::point_xy<double> >; Geometry2 = model::polygon<model::d2::point_xy<double>, false, false>; Turns = std::deque<detail::overlay::traversal_turn_info<model::d2::point_xy<double> >, std::allocator<detail::overlay::traversal_turn_info<model::d2::point_xy<double> > > >; InterruptPolicy = detail::get_turns::no_interrupt_policy]'
  843 |     boost::mpl::if_c
      |     ~~~~~~~~~~~~~~~~   
  844 |         <
      |         ~              
  845 |             reverse_dispatch<Geometry1, Geometry2>::type::value,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  846 |             dispatch::get_turns_reversed
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  847 |             <
      |             ~          
  848 |                 typename tag<Geometry1>::type,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  849 |                 typename tag<Geometry2>::type,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  850 |                 Geometry1, Geometry2,
      |                 ~~~~~~~~~~~~~~~~~~~~~
  851 |                 Reverse1, Reverse2,
      |                 ~~~~~~~~~~~~~~~~~~~
  852 |                 Turns, TurnPolicy,
      |                 ~~~~~~~~~~~~~~~~~~
  853 |                 InterruptPolicy
      |                 ~~~~~~~~~~~~~~~
  854 |             >,
      |             ~~         
  855 |             dispatch::get_turns
      |             ~~~~~~~~~~~~~~~~~~~
  856 |             <
      |             ~          
  857 |                 typename tag<Geometry1>::type,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  858 |                 typename tag<Geometry2>::type,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  859 |                 Geometry1, Geometry2,
      |                 ~~~~~~~~~~~~~~~~~~~~~
  860 |                 Reverse1, Reverse2,
      |                 ~~~~~~~~~~~~~~~~~~~
  861 |                 Turns, TurnPolicy,
      |                 ~~~~~~~~~~~~~~~~~~
  862 |                 InterruptPolicy
      |                 ~~~~~~~~~~~~~~~
  863 |             >
      |             ~          
  864 |         >::type::apply(
      |         ~~~~~~~~~~~~~~^
  865 |             0, geometry1,
      |             ~~~~~~~~~~~~~
  866 |             1, geometry2,
      |             ~~~~~~~~~~~~~
  867 |             turns, interrupt_policy);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/geometry/algorithms/detail/sections/sectionalize.hpp:84:35: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   84 |         for (register std::size_t i = 0; i < DimensionCount; i++)
      |                                   ^
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/strategies/concepts/distance_concept.hpp:126:5:   required from 'struct boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::PointDistanceStrategy<boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/strategies/concepts/simplify_concept.hpp:77:13:   required from 'static void boost::geometry::concept::SimplifyStrategy<Strategy>::checker::apply(const ApplyMethod&) [with ApplyMethod = double (boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> >::*)(const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&, const boost::geometry::model::d2::point_xy<double>&) const; Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/strategies/concepts/simplify_concept.hpp:99:23:   required from 'boost::geometry::concept::SimplifyStrategy<Strategy>::~SimplifyStrategy() [with Strategy = boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > >]'
   99 |         checker::apply(&ds_type::apply);
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::SimplifyStrategy<boost::geometry::strategy::simplify::douglas_peucker<boost::geometry::model::d2::point_xy<double>, boost::geometry::strategy::distance::projected_point<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void, boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/algorithms/simplify.hpp:255:5:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&, const Strategy&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double; Strategy = strategy::simplify::douglas_peucker<model::d2::point_xy<double>, strategy::distance::projected_point<model::d2::point_xy<double>, model::d2::point_xy<double>, void, strategy::distance::pythagoras<model::d2::point_xy<double>, model::d2::point_xy<double>, void> > >]'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/simplify.hpp:296:13:   required from 'void boost::geometry::simplify(const Geometry&, Geometry&, const Distance&) [with Geometry = model::linestring<model::d2::point_xy<double> >; Distance = double]'
  296 |     simplify(geometry, out, max_distance, strategy_type());
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":192:30:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::PointDistanceStrategy<Strategy>::~PointDistanceStrategy() [with Strategy = boost::geometry::strategy::distance::pythagoras<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, void>]'
   36 |       ~model()
      |       ^
src/boost/geometry/strategies/concepts/distance_concept.hpp:126:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  126 |     BOOST_CONCEPT_USAGE(PointDistanceStrategy)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::mpl::if_<boost::is_const<const boost::geometry::model::d2::point_xy<double> >, boost::geometry::concept::Point<const boost::geometry::model::d2::point_xy<double> >, boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/geometries/segment.hpp:70:5:   required from 'class boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/sections/sectionalize.hpp:274:26:   required from 'static void boost::geometry::detail::sectionalize::sectionalize_part<Range, Point, Sections, DimensionCount, MaxCount>::apply(Sections&, section_type&, int&, int&, const Range&, boost::geometry::ring_identifier) [with Range = boost::geometry::identity_view<const boost::geometry::identity_view<const boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Point = boost::geometry::model::d2::point_xy<double>; Sections = boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, 2>; unsigned int DimensionCount = 2; unsigned int MaxCount = 10; section_type = boost::geometry::section<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, 2>]'
  274 |             segment_type segment(*previous, *it);
      |                          ^~~~~~~
src/boost/geometry/algorithms/detail/sections/sectionalize.hpp:398:21:   required from 'static void boost::geometry::detail::sectionalize::sectionalize_range<Range, Closure, Reverse, Point, Sections, DimensionCount, MaxCount>::apply(const Range&, Sections&, boost::geometry::ring_identifier) [with Range = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::closure_selector Closure = boost::geometry::closed; bool Reverse = false; Point = boost::geometry::model::d2::point_xy<double>; Sections = boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, 2>; unsigned int DimensionCount = 2; unsigned int MaxCount = 10]'
  394 |         sectionalize_part
      |         ~~~~~~~~~~~~~~~~~
  395 |             <
      |             ~        
  396 |                 view_type, Point, Sections,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  397 |                 DimensionCount, MaxCount
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~
  398 |             >::apply(sections, section, index, ndi,
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  399 |                         view, ring_id);
      |                         ~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/sections/sectionalize.hpp:640:30:   required from 'void boost::geometry::sectionalize(const Geometry&, Sections&, int) [with bool Reverse = false; Geometry = model::linestring<model::d2::point_xy<double> >; Sections = sections<model::box<model::d2::point_xy<double> >, 2>]'
  640 |     sectionalizer_type::apply(geometry, sections, ring_id);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/overlay/get_turns.hpp:442:41:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/mpl/if.hpp:55:8: note: in a call to non-static member function 'boost::mpl::if_<boost::is_const<const boost::geometry::model::d2::point_xy<double> >, boost::geometry::concept::Point<const boost::geometry::model::d2::point_xy<double> >, boost::geometry::concept::ConstPoint<const boost::geometry::model::d2::point_xy<double> > >::~if_()'
   55 | struct if_
      |        ^~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/geometry/geometries/concepts/box_concept.hpp:77:5:   required from 'class boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:104:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::box_tag, boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, false>'
  104 | struct check<box_tag, Geometry, false>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, false>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/algorithms/assign.hpp:95:29:   required from 'void boost::geometry::assign_inverse(Geometry&) [with Geometry = model::box<model::d2::point_xy<double> >]'
   95 |     concept::check<Geometry>();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/algorithms/detail/partition.hpp:389:27:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Box<Geometry>::~Box() [with Geometry = boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/box_concept.hpp:77:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   77 |     BOOST_CONCEPT_USAGE(Box)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/box_concept.hpp:77:5:   required from 'class boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::Box<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::Box<Geometry>::~Box() [with Geometry = boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/box_concept.hpp:77:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
   77 |     BOOST_CONCEPT_USAGE(Box)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/geometry/geometries/concepts/segment_concept.hpp:122:5:   required from 'class boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > >]':
src/boost/geometry/strategies/cartesian/cart_intersect.hpp:97:5:   required from 'struct boost::geometry::strategy::intersection::relate_cartesian_segments<boost::geometry::policies::relate::segments_tupled<boost::geometry::policies::relate::segments_intersection_points<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> >, boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> >, boost::geometry::segment_intersection_points<boost::geometry::model::d2::point_xy<double> >, void>, boost::geometry::policies::relate::segments_direction<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> >, boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> >, void>, void>, void>'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp:910:40:   required from 'static OutputIterator boost::geometry::detail::overlay::get_turn_info<Point1, Point2, TurnInfo, AssignPolicy>::apply(const Point1&, const Point1&, const Point1&, const Point2&, const Point2&, const Point2&, const TurnInfo&, OutputIterator) [with OutputIterator = std::back_insert_iterator<std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> > > > >; Point1 = boost::geometry::model::d2::point_xy<double>; Point2 = boost::geometry::model::d2::point_xy<double>; TurnInfo = boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >; AssignPolicy = boost::geometry::detail::overlay::calculate_distance_policy]'
  910 |         typename strategy::return_type result = strategy::apply(p1, q1);
      |                                        ^~~~~~
src/boost/geometry/algorithms/detail/overlay/get_turns.hpp:260:38:   required from 'static bool boost::geometry::detail::get_turns::get_turns_in_sections<Geometry1, Geometry2, Reverse1, Reverse2, Section1, Section2, Turns, TurnPolicy, InterruptPolicy>::apply(int, const Geometry1&, const Section1&, int, const Geometry2&, const Section2&, bool, Turns&, InterruptPolicy&) [with Geometry1 = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Geometry2 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; bool Reverse1 = false; bool Reverse2 = true; Section1 = boost::geometry::section<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, 2>; Section2 = boost::geometry::section<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, 2>; Turns = std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> > > >; TurnPolicy = boost::geometry::detail::overlay::get_turn_info<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >, boost::geometry::detail::overlay::calculate_distance_policy>; InterruptPolicy = boost::geometry::detail::get_turns::no_interrupt_policy]'
  260 |                     TurnPolicy::apply(*prev1, *it1, *nd_next1, *prev2, *it2, *nd_next2,
      |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  261 |                             ti, std::back_inserter(turns));
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/overlay/get_turns.hpp:406:29:   required from 'bool boost::geometry::detail::get_turns::section_visitor<Geometry1, Geometry2, Reverse1, Reverse2, Turns, TurnPolicy, InterruptPolicy>::apply(const Section&, const Section&) [with Section = boost::geometry::section<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, 2>; Geometry1 = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Geometry2 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; bool Reverse1 = false; bool Reverse2 = true; Turns = std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> > > >; TurnPolicy = boost::geometry::detail::overlay::get_turn_info<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >, boost::geometry::detail::overlay::calculate_distance_policy>; InterruptPolicy = boost::geometry::detail::get_turns::no_interrupt_policy]'
  397 |             return get_turns_in_sections
      |                    ~~~~~~~~~~~~~~~~~~~~~
  398 |                     <
      |                     ~        
  399 |                         Geometry1,
      |                         ~~~~~~~~~~
  400 |                         Geometry2,
      |                         ~~~~~~~~~~
  401 |                         Reverse1, Reverse2,
      |                         ~~~~~~~~~~~~~~~~~~~
  402 |                         Section, Section,
      |                         ~~~~~~~~~~~~~~~~~
  403 |                         Turns,
      |                         ~~~~~~
  404 |                         TurnPolicy,
      |                         ~~~~~~~~~~~
  405 |                         InterruptPolicy
      |                         ~~~~~~~~~~~~~~~
  406 |                     >::apply(
      |                     ~~~~~~~~^
  407 |                             m_source_id1, m_geometry1, sec1,
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  408 |                             m_source_id2, m_geometry2, sec2,
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  409 |                             false,
      |                             ~~~~~~
  410 |                             m_turns, m_interrupt_policy);
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/detail/partition.hpp:415:34:   required from 'static void boost::geometry::partition<Box, ExpandPolicy, OverlapsPolicy, VisitBoxPolicy>::apply(const InputCollection&, const InputCollection&, VisitPolicy&, std::size_t, VisitBoxPolicy) [with InputCollection = boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, 2>; VisitPolicy = boost::geometry::detail::get_turns::section_visitor<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, false, true, std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> > > >, boost::geometry::detail::overlay::get_turn_info<boost::geometry::model::d2::point_xy<double>, boost::geometry::model::d2::point_xy<double>, boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<double> >, boost::geometry::detail::overlay::calculate_distance_policy>, boost::geometry::detail::get_turns::no_interrupt_policy>; Box = boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >; ExpandPolicy = boost::geometry::detail::get_turns::get_section_box; OverlapsPolicy = boost::geometry::detail::get_turns::ovelaps_section_box; VisitBoxPolicy = boost::geometry::visit_no_policy; std::size_t = unsigned int]'
  415 |                     visitor.apply(*it1, *it2);
      |                     ~~~~~~~~~~~~~^~~~~~~~~~~~
src/boost/geometry/algorithms/detail/overlay/get_turns.hpp:456:21:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstSegment<Geometry>::~ConstSegment() [with Geometry = boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/segment_concept.hpp:122:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  122 |     BOOST_CONCEPT_USAGE(ConstSegment)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/segment_concept.hpp:122:5:   required from 'class boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstSegment<boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstSegment<Geometry>::~ConstSegment() [with Geometry = boost::geometry::model::referring_segment<const boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/segment_concept.hpp:122:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  122 |     BOOST_CONCEPT_USAGE(ConstSegment)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >]':
src/boost/geometry/geometries/concepts/box_concept.hpp:124:5:   required from 'class boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::constraint<boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >::************> >'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |                                                                         ^~~~~
src/boost/concept/detail/general.hpp:50:8:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:22:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]'
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
src/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept_check.hpp:45:7:   required from 'class boost::geometry::detail::concept_check::check<boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:98:8:   required from 'struct boost::geometry::dispatch::check<boost::geometry::box_tag, const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, true>'
   98 | struct check<box_tag, Geometry, true>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:126:8:   required from 'struct boost::geometry::concept::detail::checker<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >, true>'
  126 | struct checker : dispatch::check
      |        ^~~~~~~
src/boost/geometry/geometries/concepts/check.hpp:146:71:   required from 'void boost::geometry::concept::check() [with Geometry = const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >]'
  146 |     detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
      |                                                                       ^
src/boost/geometry/geometries/concepts/check.hpp:160:21:   required from 'void boost::geometry::concept::check_concepts_and_equal_dimensions() [with Geometry1 = boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >; Geometry2 = const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >]'
  160 |     check<Geometry2>();
      |     ~~~~~~~~~~~~~~~~^~
src/boost/geometry/algorithms/expand.hpp:293:70:   [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/detail/general.hpp:38:47: warning: 'this' pointer is null [-Wnonnull]
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstBox<Geometry>::~ConstBox() [with Geometry = const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/box_concept.hpp:124:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  124 |     BOOST_CONCEPT_USAGE(ConstBox)
      |     ^~~~~~~~~~~~~~~~~~~
src/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]':
src/boost/concept/detail/general.hpp:38:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >]'
   38 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
src/boost/geometry/geometries/concepts/box_concept.hpp:124:5:   required from 'class boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >'
   70 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/boost/concept/detail/has_constraints.hpp:45:31:   required from 'struct boost::concepts::not_satisfied<boost::geometry::concept::ConstBox<const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > > >'
   45 |     typedef mpl::bool_<value> type;
      |                               ^~~~
src/boost/mpl/if.hpp:63:11:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
src/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp:171:14:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const LineString&, const Areal&, OutputIterator, const Strategy&) [with LineString = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  166 |         geometry::get_turns
      |         ~~~~~~~~~~~~~~~~~~~
  167 |             <
      |             ~ 
  168 |                 false,
      |                 ~~~~~~
  169 |                 (OverlayType == overlay_intersection ? ReverseAreal : !ReverseAreal),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |                 detail::overlay::calculate_distance_policy
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |             >(linestring, areal, turns, policy);
      |             ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:134:25:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_multi_linestring_with_areal<ReverseAreal, LineStringOut, OverlayType>::apply(const MultiLinestring&, const Areal&, OutputIterator, const Strategy&) [with MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  131 |             out = intersection_of_linestring_with_areal
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |                 <
      |                 ~        
  133 |                     ReverseAreal, LineStringOut, OverlayType
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 |                 >::apply(*it, areal, out, strategy);
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/multi/algorithms/intersection.hpp:163:21:   required from 'static OutputIterator boost::geometry::detail::intersection::intersection_of_areal_with_multi_linestring<ReverseAreal, LineStringOut, OverlayType>::apply(const Areal&, const MultiLinestring&, OutputIterator, const Strategy&) [with Areal = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; MultiLinestring = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; OutputIterator = std::back_insert_iterator<boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; bool ReverseAreal = true; LineStringOut = boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> >; boost::geometry::overlay_type OverlayType = boost::geometry::overlay_intersection]'
  160 |         return intersection_of_multi_linestring_with_areal
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 |             <
      |             ~        
  162 |                 ReverseAreal, LineStringOut, OverlayType
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |             >::apply(ml, areal, out, strategy);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:103:17:   required from 'static bool boost::geometry::dispatch::intersection<Geometry1, Geometry2, Tag1, Tag2, Reverse>::apply(const Geometry1&, const Geometry2&, GeometryOut&, const Strategy&) [with GeometryOut = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Strategy = boost::geometry::strategy_intersection<boost::geometry::cartesian_tag, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>, boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >, boost::geometry::model::d2::point_xy<double>, void>; Geometry1 = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double>, false, false>; Geometry2 = boost::geometry::model::multi_linestring<boost::geometry::model::linestring<boost::geometry::model::d2::point_xy<double> > >; Tag1 = boost::geometry::polygon_tag; Tag2 = boost::geometry::multi_linestring_tag; bool Reverse = false]'
   99 |         intersection_insert
      |         ~~~~~~~~~~~~~~~~~~~
  100 |         <
      |         ~        
  101 |             Geometry1, Geometry2, OneOut,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |             overlay_intersection
      |             ~~~~~~~~~~~~~~~~~~~~
  103 |         >::apply(geometry1, geometry2, std::back_inserter(geometry_out), strategy);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/geometry/algorithms/intersection.hpp:201:20:   required from 'bool boost::geometry::intersection(const Geometry1&, const Geometry2&, GeometryOut&) [with Geometry1 = model::polygon<model::d2::point_xy<double>, false, false>; Geometry2 = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >; GeometryOut = model::multi_linestring<model::linestring<model::d2::point_xy<double> > >]'
  198 |     return dispatch::intersection<
      |            ~~~~~~~~~~~~~~~~~~~~~~~
  199 |                Geometry1,
      |                ~~~~~~~~~~
  200 |                Geometry2
      |                ~~~~~~~~~
  201 |            >::apply(geometry1, geometry2, geometry_out, strategy());
      |            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t "../xsp/typemap.xspt"  "../xsp/Utils.xsp":79:34:   required from here
src/boost/concept/usage.hpp:22:48: warning: 'this' pointer is null [-Wnonnull]
   22 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
src/boost/concept/usage.hpp:36:7: note: in a call to non-static member function 'boost::geometry::concept::ConstBox<Geometry>::~ConstBox() [with Geometry = const boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> >]'
   36 |       ~model()
      |       ^
src/boost/geometry/geometries/concepts/box_concept.hpp:124:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  124 |     BOOST_CONCEPT_USAGE(ConstBox)
      |     ^~~~~~~~~~~~~~~~~~~
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Boost/Geometry/Utils/Utils.bs')
i686-linux-gnu-gcc -g -O2 '-Werror=implicit-function-declaration' '-ffile-prefix-map=/build/reproducible-path/libboost-geometry-utils-perl-0.15=.' -fstack-protector-strong -Wformat '-Werror=format-security' -Wl,-z,relro -shared -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/Boost/Geometry/Utils/Utils.so buildtmp/Utils.o -lstdc++
   dh_auto_test
	/usr/bin/perl Build test --verbose 1
Checking if compiler tools configured... cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++
cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++
ok.
t/00-compile.t ............. 
1..1
ok 1 - Boost::Geometry::Utils loaded ok
ok
t/01_basic.t ............... 
1..36
ok 1 - polygon area
ok 2 - line is clipped to square with hole
ok 3 - external line produces no intersections
ok 4 - multiple linestring clipping against polygon with no holes
ok 5 - multiple linestring clipping
ok 6 - multiple linestring clipping against multiple polygons with no holes
ok 7 - multiple linestring clipping against multiple polygons
ok 8 - croak on reading empty linestring
ok 9 - emtpy array of linestrings clipping against empty array of polygons
ok 10 - difference between multiple linestrings and multiple polygons
ok 11 - linestring clipping with large coordinates
ok 12 - linestring clipping with large coordinates
ok 13 - linestring clipping with large coordinates
ok 14 - linestring clipping with large coordinates
ok 15 - point in polygon
ok 16 - point in multipolygon
ok 17 - point outside polygon
ok 18 - point in hole in polygon
ok 19 - point in hole
ok 20 - point on polygon edge
ok 21 - point on hole edge
ok 22 - point in polygon
ok 23 - point in multipolygon
ok 24 - point outside polygon
ok 25 - point in hole in polygon
ok 26 - point in hole
ok 27 - point on polygon edge
ok 28 - point on hole edge
ok 29 - linestring simplification
ok 30 - multi_linestring simplification
ok 31 - linestring simplification
ok 32 - polygon_centroid
ok 33 - linestring_centroid
ok 34 - multi_linestring_centroid
ok 35 - correct_polygon
ok 36 - correct_multi_polygon
ok
t/02_old_api.t ............. 
1..3
ok 1 - line is clipped to square with hole
ok 2 - external line produces no intersections
ok 3 - multiple linestring clipping
ok
t/03_polygon.t ............. 
1..2
ok 1 - polygon conversion roundtrip
ok 2 - multi_polygon conversion roundtrip
ok
t/04_medial_axis_basic.t ... 
1..16
ok 1 - medial axis has edges: ARRAY len: 170
ok 2 - medial axis has vertices: ARRAY len: 170
ok 3 - internal primary edges accounted for
ok 4 - external primary edges removed
ok 5 - no internal non-primary edges present
ok 6 - no external non-primary edges
ok 7 - no degenerate external non-primary edges
ok 8 - no degenerate external primary edges
ok 9 - no degenerate internal primary edges
ok 10 - no degenerate internal non-primary edges
ok 11 - all edges have a twin reference
ok 12 - all edges have a next reference
ok 13 - all edges have a prev reference
ok 14 - all twins refer to each other
ok 15 - all next->prev references are valid
ok 16 - all prev->next references are valid
ok
t/05_medial_axis_visual.t .. skipped: author tests
t/release-pod-coverage.t ... skipped: these tests are for release candidate testing
t/release-pod-syntax.t ..... skipped: these tests are for release candidate testing
All tests successful.
Files=8, Tests=58,  1 wallclock secs ( 0.04 usr  0.02 sys +  0.84 cusr  0.12 csys =  1.02 CPU)
Result: PASS
   create-stamp debian/debhelper-build-stamp
 fakeroot debian/rules binary
dh binary
   dh_testroot
   dh_prep
   dh_auto_install --destdir=debian/libboost-geometry-utils-perl/
	/usr/bin/perl Build install --destdir /build/reproducible-path/libboost-geometry-utils-perl-0.15/debian/libboost-geometry-utils-perl --create_packlist 0
Building Boost-Geometry-Utils
cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++
cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /build/reproducible-path/libboost-geometry-utils-perl-0.15/debian/libboost-geometry-utils-perl/usr/lib/i386-linux-gnu/perl5/5.40/auto/Boost/Geometry/Utils/Utils.bs
Installing /build/reproducible-path/libboost-geometry-utils-perl-0.15/debian/libboost-geometry-utils-perl/usr/lib/i386-linux-gnu/perl5/5.40/auto/Boost/Geometry/Utils/Utils.so
Installing /build/reproducible-path/libboost-geometry-utils-perl-0.15/debian/libboost-geometry-utils-perl/usr/lib/i386-linux-gnu/perl5/5.40/Boost/Geometry/Utils.pm
Installing /build/reproducible-path/libboost-geometry-utils-perl-0.15/debian/libboost-geometry-utils-perl/usr/share/man/man3/Boost::Geometry::Utils.3pm
   dh_installdocs
   dh_installchangelogs
   dh_installman
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
   dh_fixperms
   dh_missing
   dh_dwz -a
   dh_strip -a
   dh_makeshlibs -a
   dh_shlibdeps -a
   dh_installdeb
   dh_gencontrol
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'libboost-geometry-utils-perl' in '../libboost-geometry-utils-perl_0.15-3_i386.deb'.
dpkg-deb: building package 'libboost-geometry-utils-perl-dbgsym' in '../libboost-geometry-utils-perl-dbgsym_0.15-3_i386.deb'.
 dpkg-genbuildinfo --build=binary -O../libboost-geometry-utils-perl_0.15-3_i386.buildinfo
 dpkg-genchanges --build=binary -O../libboost-geometry-utils-perl_0.15-3_i386.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
dpkg-genchanges: info: not including original source code in upload
I: copying local configuration
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: cleaning the build env 
I: removing directory /srv/workspace/pbuilder/32575 and its subdirectories
I: Current time: Fri Dec 20 09:17:27 -12 2024
I: pbuilder-time-stamp: 1734729447
Fri Dec 20 21:17:28 UTC 2024  I: 1st build successful. Starting 2nd build on remote node ionos16-i386.debian.net.
Fri Dec 20 21:17:28 UTC 2024  I: Preparing to do remote build '2' on ionos16-i386.debian.net.
Fri Dec 20 21:21:16 UTC 2024  I: Deleting $TMPDIR on ionos16-i386.debian.net.
Fri Dec 20 21:21:17 UTC 2024  I: libboost-geometry-utils-perl_0.15-3_i386.changes:
Format: 1.8
Date: Thu, 09 Jun 2022 00:44:42 +0100
Source: libboost-geometry-utils-perl
Binary: libboost-geometry-utils-perl libboost-geometry-utils-perl-dbgsym
Architecture: i386
Version: 0.15-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Changed-By: Jelmer Vernooij <jelmer@debian.org>
Description:
 libboost-geometry-utils-perl - Perl module providing bindings to the Boost Geometry library
Changes:
 libboost-geometry-utils-perl (0.15-3) unstable; urgency=medium
 .
   [ Salvatore Bonaccorso ]
   * Update Vcs-Browser URL to cgit web frontend
   * debian/control: Use HTTPS transport protocol for Vcs-Git URI
 .
   [ gregor herrmann ]
   * debian/copyright: change Copyright-Format 1.0 URL to HTTPS.
   * Remove Nicolas Dandrimont from Uploaders. Thanks for your work!
 .
   [ Salvatore Bonaccorso ]
   * Update Vcs-* headers for switch to salsa.debian.org
 .
   [ gregor herrmann ]
   * debian/control: update Build-Depends for cross builds.
   * debian/watch: use uscan version 4.
 .
   [ Debian Janitor ]
   * Bump debhelper from old 9 to 12.
   * Set debhelper-compat version in Build-Depends.
   * Remove constraints unnecessary since stretch:
     + Build-Depends: Drop versioned constraint on libextutils-xspp-perl.
Checksums-Sha1:
 a4bd5a68b900d0a5bd8040f20bd4dc8d89002ddc 1504748 libboost-geometry-utils-perl-dbgsym_0.15-3_i386.deb
 2ee8ab13eb28376591c8abe309f6e15f54eff462 5412 libboost-geometry-utils-perl_0.15-3_i386.buildinfo
 4bc2d3ef6ccb14bf59d06552917192b175dddd4e 140884 libboost-geometry-utils-perl_0.15-3_i386.deb
Checksums-Sha256:
 7593d2741983e0d507523ccddc579cc82833dccafec6d9ed2d4b72248cd1eb31 1504748 libboost-geometry-utils-perl-dbgsym_0.15-3_i386.deb
 3f1ec79500696177498ab02136157b496dff6b13b58f508e45c2a16304c6ebee 5412 libboost-geometry-utils-perl_0.15-3_i386.buildinfo
 974869f016dc725202aa09a2707058bf4416fda24ea76fcd0e15a014bc322fb7 140884 libboost-geometry-utils-perl_0.15-3_i386.deb
Files:
 fa0161b2f7ea06816a39f16fe43d0805 1504748 debug optional libboost-geometry-utils-perl-dbgsym_0.15-3_i386.deb
 580e174bf3185d6bf3997263efd0d228 5412 perl optional libboost-geometry-utils-perl_0.15-3_i386.buildinfo
 66cc19d1c0206b1d37163dfd172675db 140884 perl optional libboost-geometry-utils-perl_0.15-3_i386.deb
Fri Dec 20 21:21:18 UTC 2024  I: diffoscope 284 will be used to compare the two builds:
Running as unit: rb-diffoscope-i386_7-52041.service
# Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.ye6fuAZm/libboost-geometry-utils-perl_0.15-3.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.ye6fuAZm/libboost-geometry-utils-perl_0.15-3.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.ye6fuAZm/libboost-geometry-utils-perl_0.15-3.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.ye6fuAZm/b1/libboost-geometry-utils-perl_0.15-3_i386.changes /srv/reproducible-results/rbuild-debian/r-b-build.ye6fuAZm/b2/libboost-geometry-utils-perl_0.15-3_i386.changes

## command (total time: 0.000s)
       0.000s      1 call     cmp (internal)

## has_same_content_as (total time: 0.000s)
       0.000s      1 call     abc.DotChangesFile

## main (total time: 0.378s)
       0.378s      2 calls    outputs
       0.000s      1 call     cleanup

## recognizes (total time: 0.029s)
       0.029s     12 calls    diffoscope.comparators.binary.FilesystemFile

## specialize (total time: 0.000s)
       0.000s      1 call     specialize
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 710ms
CPU time consumed: 708ms
Fri Dec 20 21:21:19 UTC 2024  I: diffoscope 284 found no differences in the changes files, and a .buildinfo file also exists.
Fri Dec 20 21:21:19 UTC 2024  I: libboost-geometry-utils-perl from trixie built successfully and reproducibly on i386.
Fri Dec 20 21:21:20 UTC 2024  I: Submitting .buildinfo files to external archives:
Fri Dec 20 21:21:20 UTC 2024  I: Submitting 8.0K	b1/libboost-geometry-utils-perl_0.15-3_i386.buildinfo.asc
Fri Dec 20 21:21:22 UTC 2024  I: Submitting 8.0K	b2/libboost-geometry-utils-perl_0.15-3_i386.buildinfo.asc
Fri Dec 20 21:21:22 UTC 2024  I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit.
Fri Dec 20 21:21:22 UTC 2024  I: Done submitting .buildinfo files.
Fri Dec 20 21:21:22 UTC 2024  I: Removing signed libboost-geometry-utils-perl_0.15-3_i386.buildinfo.asc files:
removed './b1/libboost-geometry-utils-perl_0.15-3_i386.buildinfo.asc'
removed './b2/libboost-geometry-utils-perl_0.15-3_i386.buildinfo.asc'