PostGIS  2.4.9dev-r@@SVN_REVISION@@

◆ gserialized_from_lwgeom_size()

size_t gserialized_from_lwgeom_size ( const LWGEOM geom)

Calculate required memory segment to contain a serialized form of the LWGEOM.

Primarily used internally by the serialization code. Exposed to allow the cunit tests to exercise it.

Definition at line 810 of file g_serialized.c.

References LWGEOM::bbox, LWGEOM::flags, gbox_serialized_size(), gserialized_from_any_size(), gserialized_from_lwgeom_any(), and LWDEBUGF.

Referenced by gserialized_from_lwgeom(), test_gserialized_from_lwgeom_size(), and test_gserialized_peek_gbox_p_fails_for_unsupported_cases().

811 {
812  size_t size = 8; /* Header overhead. */
813  assert(geom);
814 
815  if ( geom->bbox )
816  size += gbox_serialized_size(geom->flags);
817 
818  size += gserialized_from_any_size(geom);
819  LWDEBUGF(3, "g_serialize size = %d", size);
820 
821  return size;
822 }
GBOX * bbox
Definition: liblwgeom.h:398
uint8_t flags
Definition: liblwgeom.h:397
static size_t gserialized_from_any_size(const LWGEOM *geom)
Definition: g_serialized.c:775
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:88
size_t gbox_serialized_size(uint8_t flags)
Return the number of bytes necessary to hold a GBOX of this dimension in serialized form...
Definition: g_box.c:451
Here is the call graph for this function:
Here is the caller graph for this function: