<commit_before>// bdlma_localsequentialallocator.h                                   -*-C++-*-
#ifndef INCLUDED_BDLMA_LOCALSEQUENTIALALLOCATOR
#define INCLUDED_BDLMA_LOCALSEQUENTIALALLOCATOR

#ifndef INCLUDED_BSLS_IDENT
#include <bsls_ident.h>
#endif
BSLS_IDENT("$Id: $")

//@PURPOSE: Provide an efficient managed allocator using a local buffer.
//
//@CLASSES:
//  bdlma::LocalSequentialAllocator: allocator using a local buffer
//
//@SEE_ALSO: bdlma_bufferedsequentialallocator
//
//@DESCRIPTION: This component provides a concrete mechanism,
// 'bdlma::LocalSequentialAllocator', that implements the
// 'bdlma::ManagedAllocator' protocol to very efficiently allocate
// heterogeneous memory blocks (of varying, user-specified sizes) from a local
// buffer.  Note that it derives from 'bdlma::BufferedSequentialAllocator' so
// that the implementations of 'allocate', 'deallocate', and 'release' don't
// need to be instantiated for each user-specified size.
//..
//    ,-------------------------------.
//   ( bdlma::LocalSequentialAllocator )
//    `-------------------------------'
//                    |        ctor
//                    V
//   ,----------------------------------.
//  ( bdlma::BufferedSequentialAllocator )
//   `----------------------------------'
//                    |        ctor/dtor
//                    |        allocate
//                    |        deallocate
//                    |        release
//                    V
//        ,-----------------------.
//       ( bdlma::ManagedAllocator )
//        `-----------------------'
//                    |        release = 0<commit_msg>Adopt commit 951d747 from master: Merge pull request #507 from dharesig/patch-1<commit_after>// bdlma_localsequentialallocator.h                                   -*-C++-*-
#ifndef INCLUDED_BDLMA_LOCALSEQUENTIALALLOCATOR
#define INCLUDED_BDLMA_LOCALSEQUENTIALALLOCATOR

#ifndef INCLUDED_BSLS_IDENT
#include <bsls_ident.h>
#endif
BSLS_IDENT("$Id: $")

//@PURPOSE: Provide an efficient managed allocator using a local buffer.
//
//@CLASSES:
//  bdlma::LocalSequentialAllocator: allocator using a local buffer
//
//@SEE_ALSO: bdlma_bufferedsequentialallocator
//
//@DESCRIPTION: This component provides a concrete mechanism,
// 'bdlma::LocalSequentialAllocator', that implements the
// 'bdlma::ManagedAllocator' protocol to very efficiently allocate
// heterogeneous memory blocks (of varying, user-specified sizes) from a local
// buffer.  Note that it derives from 'bdlma::BufferedSequentialAllocator' so
// that the implementations of 'allocate', 'deallocate', and 'release' don't
// need to be instantiated for each user-specified size.
//..
//    ,-------------------------------.
//   ( bdlma::LocalSequentialAllocator )
//    `-------------------------------'
//                    |        ctor
//                    V
//   ,----------------------------------.
//  ( bdlma::BufferedSequentialAllocator )
//   `----------------------------------'
//                    |        ctor/dtor
//                    |        allocate
//                    |        deallocate
//                    |        release
//                    |        rewind
//                    V
//        ,-----------------------.
//       ( bdlma::ManagedAllocator )
//        `-----------------------'
//                    |        release = 0
{'fraction_non_alphanumeric': 0.20818399044205496, 'fraction_numerical': 0.0035842293906810036, 'mean_word_length': 1.43033381712627, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4223178', 'n_tokens_mistral': 917, 'n_tokens_neox': 852, 'n_words': 202}