<commit_before>#pragma once

#include <cassert>
#include <memory>

namespace net {

#if defined(_MSC_VER)
#	include <intrin.h>
#	if defined(_M_IX86)
#		pragma intrinsic( _InterlockedExchange )
#		undef _InterlockedExchangePointer
#		define _InterlockedExchangePointer(_Target, _Value) reinterpret_cast<void *>(static_cast<__w64 long>(_InterlockedExchange( \
	static_cast<long volatile *>(reinterpret_cast<__w64 long volatile *>(static_cast<void * volatile *>(_Target))), \
	static_cast<long>(reinterpret_cast<__w64 long>(static_cast<void *>(_Value))))))
#	elif defined(_M_X64)
#		pragma intrinsic( _InterlockedExchangePointer )
#	else
#		error "Microsoft Visual C++ compiler: unsupported processor architecture"
#	endif
	template <typename T>
	class atomic;
	
	template <typename T>
	class atomic<T*>
	{
	public:
		inline atomic () : ptr(nullptr) { }
		inline atomic (T *ptr_) : ptr(ptr_) { }
		inline ~atomic () { }
		inline T *exchange (T *val) { return (T*) _InterlockedExchangePointer ((void*) &ptr, val); }
	private:
		volatile T *ptr;
	private:
		atomic(const atomic&);
		atomic& operator=(const atomic&);
	};
#else
#	include <atomic>
#endif

	template <typename T, ::std::size_t N>
	struct queue_chunk
	{
		T values [N];
		queue_chunk<T, N>* next;
	};

	template <typename T, ::std::size_t N, typename Alloc>
	class queue_alloc
		: public Alloc::template rebind<queue_chunk<T, N> >::other
	{
	public:
		typedef typename queue_chunk<T, N>                         chunk_type;
		typedef typename Alloc::template rebind<chunk_type>::other base_type;<commit_msg>修正一个错误<commit_after>#pragma once

#include <cassert>
#include <memory>

namespace net {

#if defined(_MSC_VER)
#	include <intrin.h>
#	if defined(_M_IX86)
#		pragma intrinsic( _InterlockedExchange )
#		undef _InterlockedExchangePointer
#		define _InterlockedExchangePointer(_Target, _Value) reinterpret_cast<void *>(static_cast<__w64 long>(_InterlockedExchange( \
	static_cast<long volatile *>(reinterpret_cast<__w64 long volatile *>(static_cast<void * volatile *>(_Target))), \
	static_cast<long>(reinterpret_cast<__w64 long>(static_cast<void *>(_Value))))))
#	elif defined(_M_X64)
#		pragma intrinsic( _InterlockedExchangePointer )
#	else
#		error "Microsoft Visual C++ compiler: unsupported processor architecture"
#	endif
	template <typename T>
	class atomic;
	
	template <typename T>
	class atomic<T*>
	{
	public:
		inline atomic () : ptr(nullptr) { }
		inline atomic (T *ptr_) : ptr(ptr_) { }
		inline ~atomic () { }
		inline T *exchange (T *val) { return (T*) _InterlockedExchangePointer ((void*volatile*) &ptr, val); }
	private:
		volatile T *ptr;
	private:
		atomic(const atomic&);
		atomic& operator=(const atomic&);
	};
#else
#	include <atomic>
#endif

	template <typename T, ::std::size_t N>
	struct queue_chunk
	{
		T values [N];
		queue_chunk<T, N>* next;
	};

	template <typename T, ::std::size_t N, typename Alloc>
	class queue_alloc
		: public Alloc::template rebind<queue_chunk<T, N> >::other
	{
	public:
		typedef typename queue_chunk<T, N>                         chunk_type;
		typedef typename Alloc::template rebind<chunk_type>::other base_type;
{'fraction_non_alphanumeric': 0.13003194888178915, 'fraction_numerical': 0.006389776357827476, 'mean_word_length': 5.224652087475149, 'pattern_counts': {'":': 0, '<': 47, '<?xml version=': 0, '>': 47, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6091268', 'n_tokens_mistral': 1132, 'n_tokens_neox': 1050, 'n_words': 269}