summaryrefslogtreecommitdiff
path: root/libcutl/cutl/details/boost/regex/v4/mem_block_cache.hpp
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:11 +0100
committerJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:11 +0100
commit4538829ab86b5a1cd4e845e7eab165029c9d6d46 (patch)
treebbadf39aed0610c8f8f7b41fefff47773b8ac205 /libcutl/cutl/details/boost/regex/v4/mem_block_cache.hpp
parent23d41842168ac1a1580111b9c5c73500ceee3d57 (diff)
parentaad5ad9bf0c02aa4e79bc6b7d6c934612fff4026 (diff)
Update upstream source from tag 'upstream/4.2.0'
Update to upstream version '4.2.0' with Debian dir 1b38df7bbcf313223de3c50107ac0255090fe647
Diffstat (limited to 'libcutl/cutl/details/boost/regex/v4/mem_block_cache.hpp')
-rw-r--r--libcutl/cutl/details/boost/regex/v4/mem_block_cache.hpp99
1 files changed, 0 insertions, 99 deletions
diff --git a/libcutl/cutl/details/boost/regex/v4/mem_block_cache.hpp b/libcutl/cutl/details/boost/regex/v4/mem_block_cache.hpp
deleted file mode 100644
index 98e7e8a..0000000
--- a/libcutl/cutl/details/boost/regex/v4/mem_block_cache.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
- /*
- * Copyright (c) 2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the
- * Boost Software License, Version 1.0. (See accompanying file
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
- * LOCATION: see http://www.boost.org for most recent version.
- * FILE mem_block_cache.hpp
- * VERSION see <cutl/details/boost/version.hpp>
- * DESCRIPTION: memory block cache used by the non-recursive matcher.
- */
-
-#ifndef BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP
-#define BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP
-
-#include <new>
-#ifdef BOOST_HAS_THREADS
-#include <cutl/details/boost/regex/pending/static_mutex.hpp>
-#endif
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-namespace cutl_details_boost{
-namespace re_detail{
-
-struct mem_block_node
-{
- mem_block_node* next;
-};
-
-struct mem_block_cache
-{
- // this member has to be statically initialsed:
- mem_block_node* next;
- unsigned cached_blocks;
-#ifdef BOOST_HAS_THREADS
- cutl_details_boost::static_mutex mut;
-#endif
-
- ~mem_block_cache()
- {
- while(next)
- {
- mem_block_node* old = next;
- next = next->next;
- ::operator delete(old);
- }
- }
- void* get()
- {
-#ifdef BOOST_HAS_THREADS
- cutl_details_boost::static_mutex::scoped_lock g(mut);
-#endif
- if(next)
- {
- mem_block_node* result = next;
- next = next->next;
- --cached_blocks;
- return result;
- }
- return ::operator new(BOOST_REGEX_BLOCKSIZE);
- }
- void put(void* p)
- {
-#ifdef BOOST_HAS_THREADS
- cutl_details_boost::static_mutex::scoped_lock g(mut);
-#endif
- if(cached_blocks >= BOOST_REGEX_MAX_CACHE_BLOCKS)
- {
- ::operator delete(p);
- }
- else
- {
- mem_block_node* old = static_cast<mem_block_node*>(p);
- old->next = next;
- next = old;
- ++cached_blocks;
- }
- }
-};
-
-extern mem_block_cache block_cache;
-
-}
-} // namespace cutl_details_boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#endif
-