Lines Matching defs:Arena
86 class Arena;
539 /* upb::Arena *****************************************************************/
541 /* upb::Arena is a specific allocator implementation that uses arena allocation.
544 * to be freed. However the Arena does allow users to register cleanup
547 * A upb::Arena is *not* thread-safe.
552 UPB_DECLARE_TYPE(upb::Arena, upb_arena)
573 class upb::Arena {
576 Arena() { upb_arena_init(this); }
579 * with the given allocator. The given allocator must outlive the Arena.
584 Arena(void *mem, size_t len, Allocator* a) {
588 ~Arena() { upb_arena_uninit(this); }
590 /* Sets the size of the next block the Arena will request (unless the
602 * The arena does not need free() calls so when using Arena as an allocator
620 UPB_DISALLOW_COPY_AND_ASSIGN(Arena)
697 /* The given Arena must outlive this environment. */
704 Arena* arena() { return upb_env_arena(this); }
750 template <int N> class upb::InlinedArena : public upb::Arena {
752 InlinedArena() : Arena(initial_block_, N, NULL) {}
753 explicit InlinedArena(Allocator* a) : Arena(initial_block_, N, a) {}