KisaragiLibrary
 
読み取り中…
検索中…
一致する文字列を見つけられません
Kisaragi_Lib::RangeNum< T, Policy > クラステンプレート

特定範囲の値を管理するための数値型 [詳解]

#include <RangeNum.hpp>

公開メンバ関数

 RangeNum (T min, T max)
 
 RangeNum (T min, T max, T init)
 
 RangeNum (const RangeNum &other)=default
 
 operator T () const
 
RangeNum operator= (T _rhs)
 
RangeNum operator+ (const T &_rhs) const
 
RangeNum operator- (const T &_rhs) const
 
RangeNum operator* (const T &_rhs) const
 
RangeNum operator/ (const T &_rhs) const
 
RangeNumoperator+= (const T &_rhs)
 
RangeNumoperator-= (const T &_rhs)
 
RangeNumoperator*= (const T &_rhs)
 
RangeNumoperator/= (const T &_rhs)
 
bool operator== (const RangeNum &_rhs) const
 
bool operator!= (const RangeNum &_rhs) const
 
bool operator< (const RangeNum &_rhs) const
 
bool operator<= (const RangeNum &_rhs) const
 
bool operator> (const RangeNum &_rhs) const
 
bool operator>= (const RangeNum &_rhs) const
 
bool operator== (const T &_rhs) const
 
bool operator!= (const T &_rhs) const
 
bool operator< (const T &_rhs) const
 
bool operator<= (const T &_rhs) const
 
bool operator> (const T &_rhs) const
 
bool operator>= (const T &_rhs) const
 

非公開メンバ関数

void Assign (T &_v)
 
Checked (T &_result)
 

非公開変数類

value
 
 
MIN
 最小値
 
MAX
 最大値
 

詳解

template<typename T, typename Policy>
class Kisaragi_Lib::RangeNum< T, Policy >

特定範囲の値を管理するための数値型

テンプレート引数
T値型の型
PolicyIOutOfRange派生型
から
1.0.0

構築子と解体子

◆ RangeNum() [1/3]

template<typename T, typename Policy>
Kisaragi_Lib::RangeNum< T, Policy >::RangeNum ( T min,
T max )
inline
158 : MIN(min), MAX(max), value(min)
159 {
160 assert(MIN <= MAX && "RangeNum : MINの値がMAX以上です。");
161 }
特定範囲の値を管理するための数値型
Definition RangeNum.hpp:123
T MIN
最小値
Definition RangeNum.hpp:142
T value
Definition RangeNum.hpp:137
T MAX
最大値
Definition RangeNum.hpp:147

参照元 Kisaragi_Lib::RangeNum< int, ClampOnOutOfRange >::operator*(), Kisaragi_Lib::RangeNum< int, ClampOnOutOfRange >::operator+(), Kisaragi_Lib::RangeNum< int, ClampOnOutOfRange >::operator-(), Kisaragi_Lib::RangeNum< int, ClampOnOutOfRange >::operator/().

◆ RangeNum() [2/3]

template<typename T, typename Policy>
Kisaragi_Lib::RangeNum< T, Policy >::RangeNum ( T min,
T max,
T init )
inline
164 : MIN(min), MAX(max)
165 {
166 assert(MIN <= MAX && "RangeNum : MINの値がMAX以上です。");
167 Assign(init);
168 }
void Assign(T &_v)
Definition RangeNum.hpp:150

◆ RangeNum() [3/3]

template<typename T, typename Policy>
Kisaragi_Lib::RangeNum< T, Policy >::RangeNum ( const RangeNum< T, Policy > & other)
default

関数詳解

◆ Assign()

◆ operator T()

template<typename T, typename Policy>
Kisaragi_Lib::RangeNum< T, Policy >::operator T ( ) const
inline
174{ return value; }

◆ operator=()

template<typename T, typename Policy>
RangeNum Kisaragi_Lib::RangeNum< T, Policy >::operator= ( T _rhs)
inline
177 {
178 Assign(_rhs);
179 return *this;
180 }

◆ operator+()

template<typename T, typename Policy>
RangeNum Kisaragi_Lib::RangeNum< T, Policy >::operator+ ( const T & _rhs) const
inline
184 {
185 return RangeNum(MIN, MAX, Checked(value + _rhs));
186 }
RangeNum(T min, T max)
Definition RangeNum.hpp:158
T Checked(T &_result)
Definition RangeNum.hpp:239

◆ operator-()

template<typename T, typename Policy>
RangeNum Kisaragi_Lib::RangeNum< T, Policy >::operator- ( const T & _rhs) const
inline
188 {
189 return RangeNum(MIN, MAX, Checked(value - _rhs));
190 }

◆ operator*()

template<typename T, typename Policy>
RangeNum Kisaragi_Lib::RangeNum< T, Policy >::operator* ( const T & _rhs) const
inline
192 {
193 return RangeNum(MIN, MAX, Checked(value * _rhs));
194 }

◆ operator/()

template<typename T, typename Policy>
RangeNum Kisaragi_Lib::RangeNum< T, Policy >::operator/ ( const T & _rhs) const
inline
196 {
197 return RangeNum(MIN, MAX, Checked(value / _rhs));
198 }

◆ operator+=()

template<typename T, typename Policy>
RangeNum & Kisaragi_Lib::RangeNum< T, Policy >::operator+= ( const T & _rhs)
inline
201 {
202 Assign(value + _rhs);
203 return *this;
204 }

◆ operator-=()

template<typename T, typename Policy>
RangeNum & Kisaragi_Lib::RangeNum< T, Policy >::operator-= ( const T & _rhs)
inline
206 {
207 Assign(value - _rhs);
208 return *this;
209 }

◆ operator*=()

template<typename T, typename Policy>
RangeNum & Kisaragi_Lib::RangeNum< T, Policy >::operator*= ( const T & _rhs)
inline
211 {
212 Assign(value * _rhs);
213 return *this;
214 }

◆ operator/=()

template<typename T, typename Policy>
RangeNum & Kisaragi_Lib::RangeNum< T, Policy >::operator/= ( const T & _rhs)
inline
216 {
217 Assign(value / _rhs);
218 return *this;
219 }

◆ operator==() [1/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator== ( const RangeNum< T, Policy > & _rhs) const
inline
222{ return value == _rhs.value; }

◆ operator!=() [1/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator!= ( const RangeNum< T, Policy > & _rhs) const
inline
223{ return value != _rhs.value; }

◆ operator<() [1/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator< ( const RangeNum< T, Policy > & _rhs) const
inline
224{ return value < _rhs.value; }

◆ operator<=() [1/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator<= ( const RangeNum< T, Policy > & _rhs) const
inline
225{ return value <= _rhs.value; }

◆ operator>() [1/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator> ( const RangeNum< T, Policy > & _rhs) const
inline
226{ return value > _rhs.value; }

◆ operator>=() [1/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator>= ( const RangeNum< T, Policy > & _rhs) const
inline
227{ return value >= _rhs.value; }

◆ operator==() [2/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator== ( const T & _rhs) const
inline
230{ return value == _rhs; }

◆ operator!=() [2/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator!= ( const T & _rhs) const
inline
231{ return value != _rhs; }

◆ operator<() [2/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator< ( const T & _rhs) const
inline
232{ return value < _rhs; }

◆ operator<=() [2/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator<= ( const T & _rhs) const
inline
233{ return value <= _rhs; }

◆ operator>() [2/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator> ( const T & _rhs) const
inline
234{ return value > _rhs; }

◆ operator>=() [2/2]

template<typename T, typename Policy>
bool Kisaragi_Lib::RangeNum< T, Policy >::operator>= ( const T & _rhs) const
inline
235{ return value >= _rhs; }

◆ Checked()

メンバ詳解

◆ value

◆ MIN

template<typename T, typename Policy>
T Kisaragi_Lib::RangeNum< T, Policy >::MIN
private

最小値

◆ MAX

template<typename T, typename Policy>
T Kisaragi_Lib::RangeNum< T, Policy >::MAX
private

最大値


このクラス詳解は次のファイルから抽出されました: