PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ gserialized2_from_lwgeom_size()

size_t gserialized2_from_lwgeom_size ( const LWGEOM geom)

Return the memory size a GSERIALIZED will occupy for a given LWGEOM.

Definition at line 776 of file gserialized2.c.

777 {
778  size_t size = 8; /* Header overhead (varsize+flags+srid) */
779  assert(geom);
780 
781  /* Reserve space for extended flags */
783  size += 8;
784 
785  /* Reserve space for bounding box */
786  if (geom->bbox)
787  size += gbox_serialized_size(geom->flags);
788 
789  size += gserialized2_from_any_size(geom);
790  LWDEBUGF(3, "%s size = %d", __func__, size);
791 
792  return size;
793 }
size_t gbox_serialized_size(lwflags_t flags)
Return the number of bytes necessary to hold a GBOX of this dimension in serialized form.
Definition: gbox.c:440
static int lwflags_uses_extended_flags(lwflags_t lwflags)
Definition: gserialized2.c:76
static size_t gserialized2_from_any_size(const LWGEOM *geom)
Definition: gserialized2.c:741
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:88
GBOX * bbox
Definition: liblwgeom.h:458
lwflags_t flags
Definition: liblwgeom.h:461

References LWGEOM::bbox, LWGEOM::flags, gbox_serialized_size(), gserialized2_from_any_size(), LWDEBUGF, and lwflags_uses_extended_flags().

Referenced by gserialized2_from_lwgeom(), gserialized_from_lwgeom_size(), test_gserialized2_extended_flags(), test_gserialized2_from_lwgeom_size(), test_gserialized2_peek_gbox_p_fails_for_unsupported_cases(), and test_lwgeom_from_gserialized2().

Here is the call graph for this function:
Here is the caller graph for this function: