PostGIS  3.0.6dev-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 774 of file gserialized2.c.

775 {
776  size_t size = 8; /* Header overhead (varsize+flags+srid) */
777  assert(geom);
778 
779  /* Reserve space for extended flags */
781  size += 8;
782 
783  /* Reserve space for bounding box */
784  if (geom->bbox)
785  size += gbox_serialized_size(geom->flags);
786 
787  size += gserialized2_from_any_size(geom);
788  LWDEBUGF(3, "%s size = %d", __func__, size);
789 
790  return size;
791 }
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:74
static size_t gserialized2_from_any_size(const LWGEOM *geom)
Definition: gserialized2.c:739
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:88
GBOX * bbox
Definition: liblwgeom.h:444
lwflags_t flags
Definition: liblwgeom.h:447

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: