PostGIS  3.7.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 777 of file gserialized2.c.

778 {
779  size_t size = 8; /* Header overhead (varsize+flags+srid) */
780  assert(geom);
781 
782  /* Reserve space for extended flags */
784  size += 8;
785 
786  /* Reserve space for bounding box */
787  if (geom->bbox)
788  size += gbox_serialized_size(geom->flags);
789 
790  size += gserialized2_from_any_size(geom);
791  LWDEBUGF(3, "%s size = %zu", __func__, size);
792 
793  return size;
794 }
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:452
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:742
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:106
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: