TrinityCore
Loading...
Searching...
No Matches
SFMTRand.h
Go to the documentation of this file.
1
/*
2
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef SFMTRand_h__
19
#define SFMTRand_h__
20
21
#include "
Define.h
"
22
#include <SFMT.h>
23
#include <new>
24
25
/*
26
* C++ Wrapper for SFMT
27
*/
28
class
SFMTRand
{
29
public
:
30
SFMTRand
()
noexcept
;
31
uint32
RandomUInt32
()
noexcept
;
// Output random bits
32
void
*
operator
new
(
size_t
size)
noexcept
{ return ::operator
new
(size, std::align_val_t(
alignof
(
SFMTRand
)), std::nothrow); }
33
void
operator
delete
(
void
* ptr)
noexcept
{ ::operator
delete
(ptr, std::align_val_t(
alignof
(
SFMTRand
)), std::nothrow); }
34
void
*
operator
new
[](
size_t
size)
noexcept
{ return ::operator
new
[](size, std::align_val_t(
alignof
(
SFMTRand
)), std::nothrow); }
35
void
operator
delete
[](
void
* ptr)
noexcept
{ ::operator
delete
[](ptr, std::align_val_t(
alignof
(
SFMTRand
)), std::nothrow); }
36
private
:
37
sfmt_t
_state
;
38
};
39
40
#endif
// SFMTRand_h__
Define.h
uint32
uint32_t uint32
Definition
Define.h:154
SFMTRand
Definition
SFMTRand.h:28
SFMTRand::_state
sfmt_t _state
Definition
SFMTRand.h:37
SFMTRand::SFMTRand
SFMTRand() noexcept
Definition
SFMTRand.cpp:25
SFMTRand::RandomUInt32
uint32 RandomUInt32() noexcept
Definition
SFMTRand.cpp:39
common
Utilities
SFMTRand.h
Generated on Sun May 10 2026 02:08:51 for TrinityCore by
1.9.8