유틸리티

module 더 자세히 ...

클래스

class  Proud::CAngleFollower
 
class  Proud::ByteArray
 
class  Proud::ByteArrayPtr
 
class  Proud::CriticalSection
 
class  Proud::CriticalSectionLock
 CriticalSection 객체를 lock access하는 객체 더 자세히 ...
 
class  Proud::CCryptoAes
 
class  Proud::CCryptoAesKey
 
class  Proud::CCryptoRsaKey
 
class  Proud::CCryptoRsa
 
class  Proud::ILogWriterDelegate
 
class  Proud::CDbLogParameter
 
class  Proud::CDbLogWriter
 
class  Proud::Deque< T >
 
class  Proud::Event
 
class  Proud::Exception
 
class  Proud::CArrayWithExternalBuffer< TYPE, TYPE_IN_REF, RAWTYPE, INDEXTYPE >
 
class  Proud::IClonable
 
class  Proud::Timer
 
class  Proud::Random
 
struct  FastArray_Traits< T, T_IN_REF >
 
struct  Proud::FastArray_Traits< T, true >
 
struct  Proud::FastArray_Traits< T, false >
 
class  Proud::CFastArray< T, T_IN_REF, RAWTYPE, INDEXTYPE >
 
class  Proud::CFastHeap
 
class  Proud::CFastHeapSettings
 
class  Proud::CFastList< E, ETraits >
 
class  Proud::CFastMap< K, V, KTraits, VTraits >
 
class  Proud::CFastSet< K, KTraits >
 
class  Proud::CFixedLengthArray< size, TYPE, ARG_TYPE >
 
class  Proud::CListNode< T >
 
class  Proud::CLookasideAllocator
 
class  Proud::CMilisecTimer
 
class  Proud::CRoundRobinNumberGenerator
 
class  Proud::CCrc
 
class  Proud::AnsiStrTraits
 
class  Proud::UnicodeStrTraits
 
class  Proud::StringT< XCHAR, StringTraits >
 
class  Proud::StrBufT< XCHAR, StringTraits >
 
class  Proud::StringTraitsT< XCHAR, StringTraits >
 
class  Proud::Thread
 
class  Proud::CPnTimeSpan
 
class  Proud::CPnTime
 
class  Proud::CPositionFollower
 
class  Proud::CFirstHeap
 
class  Proud::CProcHeap
 
class  Proud::CMemoryHeap
 
class  Proud::CHeldPtr< T >
 
class  Proud::SmartPtr< T >
 
class  Proud::RefCount< T >
 
class  Proud::CVirtualAllocPage< T >
 
class  Proud::CQuantizer
 
class  Proud::CRandom
 
class  Proud::Semaphore
 
class  Proud::CSingleton< T >
 
class  Proud::CStringEncoder
 
struct  Proud::PN_OVERLAPPED_ENTRY
 
class  Proud::CKernel32Api
 
class  Proud::CLocale
 
class  Proud::CSystemInfo
 
struct  Proud::NewTimerParam
 
class  Proud::CTimerQueue
 
class  Proud::CTimerQueueTimer
 
class  Proud::CTimerThread
 
struct  Proud::TimerEventHandle
 
class  Proud::CLogWriter
 
struct  Proud::Vector3T< FloatType >
 

매크로

#define XXXHeapChk   __noop
 
#define StringT2A   StringW2A
 
#define StringA2T   StringA2W
 
#define StringT2W(x)   (::Proud::String(x))
 
#define StringW2T(x)   (::Proud::String(x))
 

타입정의

typedef RefCount< CCryptoRsaKey > Proud::CRsaKeyPtr
 
typedef uint16_t Proud::CryptCount
 
typedef RefCount
< CLookasideAllocator > 
Proud::CLookasideAllocatorPtr
 
typedef unsigned int Proud::Crc32
 
typedef char Proud::AnsiStrTraits::CharType
 
typedef wchar_t Proud::UnicodeStrTraits::CharType
 
typedef const StringT< XCHAR,
StringTraits > & 
Proud::StringTraitsT< XCHAR, StringTraits >::INARGTYPE
 
typedef StringT< XCHAR,
StringTraits > & 
Proud::StringTraitsT< XCHAR, StringTraits >::OUTARGTYPE
 
typedef StringT< char,
AnsiStrTraits > 
Proud::StringA
 
typedef StringT< wchar_t,
UnicodeStrTraits > 
Proud::StringW
 
typedef StringW Proud::String
 
typedef StrBufT< char,
AnsiStrTraits > 
Proud::StrBufA
 
typedef StrBufT< wchar_t,
UnicodeStrTraits > 
Proud::StrBufW
 
typedef StringTraitsT< char,
AnsiStrTraits > 
Proud::StringTraitsA
 
typedef StringTraitsT< wchar_t,
UnicodeStrTraits > 
Proud::StringTraitsW
 
typedef StringTraitsW Proud::StringTraits
 
typedef StrBufW Proud::StrBuf
 
typedef RefCount< Thread > Proud::ThreadPtr
 
typedef WINBASEAPI HANDLE(WINAPI * Proud::CreateIoCompletionPortProc )(HANDLE FileHandle, HANDLE ExistingCompletionPort, ULONG_PTR CompletionKey, uint32_t NumberOfConcurrentThreads)
 
typedef WINBASEAPI Proud::BOOL (WINAPI *HeapSetInformationProc)(HANDLE HeapHandle
 
typedef WINBASEAPI
HEAP_INFORMATION_CLASS 
Proud::HeapInformationClass
 
typedef WINBASEAPI
HEAP_INFORMATION_CLASS PVOID 
Proud::HeapInformation
 
typedef WINBASEAPI
HEAP_INFORMATION_CLASS PVOID
size_t 
Proud::HeapInformationLength
 
typedef WINBASEAPI PVOID Proud::Context
 
typedef WINBASEAPI PVOID uint32_t Proud::Flags
 
typedef WINBASEAPI LPDWORD Proud::lpNumberOfBytesTransferred
 
typedef WINBASEAPI LPDWORD
PULONG_PTR 
Proud::lpCompletionKey
 
typedef WINBASEAPI LPDWORD
PULONG_PTR LPOVERLAPPED * 
Proud::lpOverlapped
 
typedef WINBASEAPI LPDWORD
PULONG_PTR LPOVERLAPPED
uint32_t 
Proud::dwMilliseconds
 
typedef WINBASEAPI
PN_OVERLAPPED_ENTRY * 
Proud::lpCompletionPortEntries
 
typedef WINBASEAPI
PN_OVERLAPPED_ENTRY uint32_t 
Proud::ulCount
 
typedef WINBASEAPI
PN_OVERLAPPED_ENTRY uint32_t
PULONG 
Proud::ulNumEntriesRemoved
 
typedef WINBASEAPI
PN_OVERLAPPED_ENTRY uint32_t
PULONG uint32_t BOOL 
Proud::fAlertable
 
typedef WINBASEAPI Proud::PVOID (WINAPI *AddVectoredExceptionHandlerProc)(uint32_t FirstHandler
 
typedef WINBASEAPI
PVECTORED_EXCEPTION_HANDLER 
Proud::VectoredHandler
 
typedef WINBASEAPI BOOL(WINAPI * Proud::GetLogicalProcessorInformation )(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer, PDWORD ReturnLength)
 
typedef BOOLEAN Proud::TimerOrWaitFired
 
typedef WINBASEAPI Proud::HANDLE (WINAPI *CreateTimerQueueProc)(VOID)
 
typedef WINBASEAPI HANDLE Proud::TimerQueue
 
typedef WINBASEAPI HANDLE
WaitOrTimerCallbackProc 
Proud::Callback
 
typedef WINBASEAPI HANDLE
WaitOrTimerCallbackProc PVOID 
Proud::Parameter
 
typedef WINBASEAPI HANDLE
WaitOrTimerCallbackProc PVOID
uint32_t 
Proud::DueTime
 
typedef WINBASEAPI HANDLE
WaitOrTimerCallbackProc PVOID
uint32_t uint32_t 
Proud::Period
 
typedef WINBASEAPI HANDLE Proud::Timer
 
typedef WINBASEAPI HANDLE HANDLE Proud::CompletionEvent
 
typedef WINBASEAPI uint32_t Proud::dwSpinCount
 
typedef Vector3T< double > Proud::Vector3
 
typedef Vector3T< float > Proud::FloatVector3
 

열거형 타입

enum  Proud::ExceptionType {
  Proud::ExceptionType_None = 0, Proud::ExceptionType_String, Proud::ExceptionType_Std, Proud::ExceptionType_ComError,
  Proud::ExceptionType_Void, Proud::ExceptionType_ErrorInfo, Proud::ExceptionType_Unhandled, Proud::ExceptionType_Clr
}
 
enum  Proud::GrowPolicy { Proud::GrowPolicy_Normal, Proud::GrowPolicy_HighSpeed, Proud::GrowPolicy_LowMemory }
 
enum  Proud::FastHeapAccessMode { Proud::FastHeapAccessMode_UnsafeSingleThread, Proud::FastHeapAccessMode_MultiThreaded }
 

함수

PROUD_API void Proud::XXXHeapChkImpl (int index=1)
 
PROUD_API void Proud::ShowLibSignatureMismatchError ()
 
PROUD_API _Noreturn void Proud::ThrowArrayIsNullError ()
 
template<typename T >
T * Proud::FastHeap_NewInstance (CFastHeap *heap)
 
template<typename T >
void Proud::FastHeap_DeleteInstance (CFastHeap *heap, T *obj)
 
int64_t Proud::GetPreciseCurrentTimeMs ()
 
template<typename T >
Proud::Lerp (T v1, T v2, T ratio)
 
template<typename T >
Proud::LerpInt (T v1, T v2, T ratio1, T ratio2)
 
static int Proud::AnsiStrTraits::SafeStringLen (const CharType *str)
 
static void Proud::AnsiStrTraits::CopyString (CharType *dest, const CharType *src, int length)
 
static int Proud::AnsiStrTraits::StringCompare (const CharType *a, const CharType *b)
 
static int Proud::AnsiStrTraits::StringCompareNoCase (const CharType *a, const CharType *b)
 
static int Proud::AnsiStrTraits::GetFormattedLength (const char *pszFormat, va_list args)
 
static int __cdecl Proud::AnsiStrTraits::Format (char *pszBuffer, size_t nlength, const char *pszFormat, va_list args) throw ()
 
static char * Proud::AnsiStrTraits::StringUppercase (char *psz, size_t size) throw ()
 
static char * Proud::AnsiStrTraits::StringLowercase (char *psz, size_t size) throw ()
 
static const char *__cdecl Proud::AnsiStrTraits::StringFindString (const char *pszBlock, const char *pszMatch) throw ()
 
static char *__cdecl Proud::AnsiStrTraits::StringFindString (char *pszBlock, const char *pszMatch) throw ()
 
static const char *__cdecl Proud::AnsiStrTraits::StringFindChar (const char *pszBlock, char chMatch) throw ()
 
static int __cdecl Proud::AnsiStrTraits::StringSpanIncluding (const char *pszBlock, const char *pszSet) throw ()
 
static int __cdecl Proud::AnsiStrTraits::StringSpanExcluding (const char *pszBlock, const char *pszSet) throw ()
 
static char *__cdecl Proud::AnsiStrTraits::CharNext (const char *p) throw ()
 
static int __cdecl Proud::AnsiStrTraits::IsDigit (char ch) throw ()
 
static int __cdecl Proud::AnsiStrTraits::IsSpace (char ch) throw ()
 
static int Proud::UnicodeStrTraits::SafeStringLen (const CharType *str)
 
static void Proud::UnicodeStrTraits::CopyString (CharType *dest, const CharType *src, int length)
 
static int Proud::UnicodeStrTraits::StringCompare (const CharType *a, const CharType *b)
 
static int Proud::UnicodeStrTraits::StringCompareNoCase (const CharType *a, const CharType *b)
 
static int Proud::UnicodeStrTraits::GetFormattedLength (const wchar_t *pszFormat, va_list args)
 
static int __cdecl Proud::UnicodeStrTraits::Format (wchar_t *pszBuffer, size_t nLength, const wchar_t *pszFormat, va_list args) throw ( )
 
static wchar_t * Proud::UnicodeStrTraits::StringUppercase (wchar_t *psz, size_t size) throw ( )
 
static wchar_t * Proud::UnicodeStrTraits::StringLowercase (wchar_t *psz, size_t size) throw ( )
 
static const wchar_t *__cdecl Proud::UnicodeStrTraits::StringFindString (const wchar_t *pszBlock, const wchar_t *pszMatch) throw ( )
 
static wchar_t *__cdecl Proud::UnicodeStrTraits::StringFindString (wchar_t *pszBlock, const wchar_t *pszMatch) throw ( )
 
static const wchar_t *__cdecl Proud::UnicodeStrTraits::StringFindChar (const wchar_t *pszBlock, wchar_t chMatch) throw ( )
 
static int __cdecl Proud::UnicodeStrTraits::StringSpanIncluding (const wchar_t *pszBlock, const wchar_t *pszSet) throw ( )
 
static int __cdecl Proud::UnicodeStrTraits::StringSpanExcluding (const wchar_t *pszBlock, const wchar_t *pszSet) throw ( )
 
static wchar_t *__cdecl Proud::UnicodeStrTraits::CharNext (const wchar_t *psz) throw ( )
 
static int __cdecl Proud::UnicodeStrTraits::IsDigit (wchar_t ch) throw ()
 
static int __cdecl Proud::UnicodeStrTraits::IsSpace (wchar_t ch) throw ()
 
XCHAR * Proud::StringT< XCHAR, StringTraits >::Tombstone::GetBuffer ()
 
 Proud::StringT< XCHAR, StringTraits >::StringT ()
 
 Proud::StringT< XCHAR, StringTraits >::~StringT ()
 
 Proud::StringT< XCHAR, StringTraits >::StringT (const StringT &src)
 
 Proud::StringT< XCHAR, StringTraits >::StringT (const XCHAR *src, int length=0)
 
bool Proud::StringT< XCHAR, StringTraits >::IsEmpty () const
 
 Proud::StringT< XCHAR, StringTraits >::operator const XCHAR * () const
 
const XCHAR * Proud::StringT< XCHAR, StringTraits >::GetString () const
 
XCHAR * Proud::StringT< XCHAR, StringTraits >::GetBuffer (int length=0)
 
int Proud::StringT< XCHAR, StringTraits >::GetLength () const
 
void Proud::StringT< XCHAR, StringTraits >::SetLength (int length)
 
void Proud::StringT< XCHAR, StringTraits >::Append (const StringT &src)
 
void Proud::StringT< XCHAR, StringTraits >::Append (const XCHAR *src)
 
int Proud::StringT< XCHAR, StringTraits >::Compare (const StringT &src) const
 
int Proud::StringT< XCHAR, StringTraits >::Compare (const XCHAR *src) const
 
int Proud::StringT< XCHAR, StringTraits >::CompareNoCase (const StringT &src) const
 
int Proud::StringT< XCHAR, StringTraits >::CompareNoCase (const XCHAR *src) const
 
static StringT Proud::StringT< XCHAR, StringTraits >::NewFormat (const XCHAR *pszFormat,...)
 
void Proud::StringT< XCHAR, StringTraits >::Format (const XCHAR *pszFormat,...)
 
void Proud::StringT< XCHAR, StringTraits >::FormatV (const XCHAR *pszFormat, va_list args)
 
void Proud::StringT< XCHAR, StringTraits >::ReleaseBuffer ()
 
int Proud::StringT< XCHAR, StringTraits >::Replace (XCHAR chOld, XCHAR chNew)
 
int Proud::StringT< XCHAR, StringTraits >::Replace (const XCHAR *pszOld, const XCHAR *pszNew)
 
StringT & Proud::StringT< XCHAR, StringTraits >::MakeUpper ()
 
StringT & Proud::StringT< XCHAR, StringTraits >::MakeLower ()
 
bool Proud::StringT< XCHAR, StringTraits >::operator== (const StringT &src) const
 
bool Proud::StringT< XCHAR, StringTraits >::operator< (const StringT &src) const
 
bool Proud::StringT< XCHAR, StringTraits >::operator!= (const StringT &src) const
 
bool Proud::StringT< XCHAR, StringTraits >::operator== (const XCHAR *src) const
 
bool Proud::StringT< XCHAR, StringTraits >::operator!= (const XCHAR *src) const
 
StringT & Proud::StringT< XCHAR, StringTraits >::operator+= (const StringT &src)
 
StringT & Proud::StringT< XCHAR, StringTraits >::operator+= (const XCHAR *src)
 
StringT & Proud::StringT< XCHAR, StringTraits >::operator= (const StringT &src)
 
StringT & Proud::StringT< XCHAR, StringTraits >::operator= (const XCHAR *src)
 
int Proud::StringT< XCHAR, StringTraits >::Find (XCHAR ch, int iStart=0) const throw ()
 
int Proud::StringT< XCHAR, StringTraits >::Find (const XCHAR *pszSub, int iStart=0) const throw ()
 
StringT Proud::StringT< XCHAR, StringTraits >::Mid (int iFirst) const
 
StringT Proud::StringT< XCHAR, StringTraits >::Mid (int iFirst, int nCount) const
 
StringT Proud::StringT< XCHAR, StringTraits >::Right (int nCount) const
 
StringT Proud::StringT< XCHAR, StringTraits >::Left (int nCount) const
 
StringT Proud::StringT< XCHAR, StringTraits >::Tokenize (const XCHAR *pszTokens, int &iStart) const
 
StringT & Proud::StringT< XCHAR, StringTraits >::TrimRight ()
 
StringT & Proud::StringT< XCHAR, StringTraits >::TrimLeft ()
 
StringT & Proud::StringT< XCHAR, StringTraits >::Trim ()
 
StringT & Proud::StringT< XCHAR, StringTraits >::Trim (XCHAR chTarget)
 
StringT & Proud::StringT< XCHAR, StringTraits >::Trim (const XCHAR *pszTargets)
 
StringT & Proud::StringT< XCHAR, StringTraits >::TrimRight (XCHAR chTarget)
 
StringT & Proud::StringT< XCHAR, StringTraits >::TrimRight (const XCHAR *pszTargets)
 
StringT & Proud::StringT< XCHAR, StringTraits >::TrimLeft (XCHAR chTarget)
 
StringT & Proud::StringT< XCHAR, StringTraits >::TrimLeft (const XCHAR *pszTargets)
 
template<typename XCHAR , typename StringTraits >
StringT< XCHAR, StringTraits > Proud::operator+ (const StringT< XCHAR, StringTraits > &a, const StringT< XCHAR, StringTraits > &b)
 
template<typename XCHAR , typename StringTraits >
StringT< XCHAR, StringTraits > Proud::operator+ (const StringT< XCHAR, StringTraits > &a, const XCHAR *b)
 
template<typename XCHAR , typename StringTraits >
StringT< XCHAR, StringTraits > Proud::operator+ (const XCHAR *a, const StringT< XCHAR, StringTraits > &b)
 
 Proud::StrBufT< XCHAR, StringTraits >::StrBufT (StringT< XCHAR, StringTraits > &src, int maxLength=0)
 
 Proud::StrBufT< XCHAR, StringTraits >::operator XCHAR * ()
 
XCHAR * Proud::StrBufT< XCHAR, StringTraits >::GetBuf ()
 
static uint32_t __cdecl Proud::StringTraitsT< XCHAR, StringTraits >::Hash (INARGTYPE str)
 
static bool __cdecl Proud::StringTraitsT< XCHAR, StringTraits >::CompareElements (INARGTYPE str1, INARGTYPE str2)
 
static int __cdecl Proud::StringTraitsT< XCHAR, StringTraits >::CompareElementsOrdered (INARGTYPE str1, INARGTYPE str2)
 
StringA Proud::StringW2A (const wchar_t *src, CStringEncoder *encoder=NULL)
 
StringW Proud::StringA2W (const char *src, CStringEncoder *encoder=NULL)
 
template<typename T >
bool Proud::operator< (const CHeldPtr< T > a, const CHeldPtr< T > b)
 
template<typename T >
Proud::GetRandomElement (const CFastArray< T > &arr)
 
template<typename T >
Proud::GetRandomElement (const std::vector< T > &arr)
 
PROUD_API void Proud::iconv_string_convert (CStringEncoder *encoder, const char *input, size_t *inbytesleft, char *out, size_t *outbytesleft)
 
PROUD_API void Proud::USleep (long uSec)
 
PROUD_API uint32_t Proud::GetNoofProcessors ()
 
PROUD_API String Proud::GetProcessName ()
 
uint64_t Proud::GetCurrentThreadID ()
 
PROUD_API void Proud::ShowUserMisuseError (const PNTCHAR *text)
 
void Proud::TraceA (const char *format,...)
 
PROUD_API size_t Proud::GetOccupiedPhysicalMemory ()
 
PROUD_API size_t Proud::GetTotalPhysicalMemory ()
 
PROUD_API String Proud::GetComputerName ()
 
PROUD_API bool Proud::EnableLowFragmentationHeap ()
 
String Proud::GetCurrentProgramDirectory ()
 
PROUD_API void Proud::SetCurrentDirectoryWhereProgramExists ()
 
PROUD_API bool Proud::IsServiceMode ()
 
PROUD_API bool Proud::IsGqcsExSupported ()
 
PROUD_API bool Proud::IsHyperThreading ()
 
PROUD_API uint32_t Proud::CountSetBits (uintptr_t bitMask)
 
PROUD_API String Proud::GetFullPath (const PNTCHAR *fileName)
 
PROUD_API bool Proud::CreateFullDirectory (const PNTCHAR *lpPathName, String &outCreatedDirectory)
 
PROUD_API String Proud::GetCurrentDirectory ()
 
typedef Proud::VOID (NTAPI *WaitOrTimerCallbackProc)(PVOID lpParameter
 
bool Proud::GetWindowsVersion (DWORD &major, DWORD &minor, DWORD &servicePack)
 
PROUD_API int Proud::GetTotalThreadCount ()
 
PROUD_API DWORD Proud::GetThreadStatus (HANDLE const handle)
 
PROUD_API void Proud::SetThreadName (uint32_t dwThreadID, const char *szThreadName)
 
PROUD_API HANDLE Proud::GetCurrentRealThread ()
 
template<typename FloatType >
FloatType Proud::ScalarLerp (const FloatType v1, const FloatType v2, const FloatType ratio)
 
template<typename FloatType >
Vector3T< FloatType > Proud::operator* (FloatType scale, const struct Vector3T< FloatType > &src)
 

변수

PROUD_API const char * Proud::ExternalBufferArrayIsUninitializedError
 
PROUD_API const char * Proud::ExternalBufferArrayIsInitializedError
 
const char * Proud::CannotUseFastHeapForFilledCollectionErrorText
 
int Proud::LibSignature
 
PROUD_API const char * Proud::ArrayPtrIsNullError
 
PROUD_API const char * Proud::ArrayPtrIsNotNullError
 
PROUD_API const char * Proud::MustInternalBufferError
 
PROUD_API const char * Proud::MustNotExternalBufferError
 
PROUD_API const char * Proud::MustUnsafeInternalBufferError
 
PROUD_API const char * Proud::AlreadyHasInternalBufferError
 
PROUD_API const char * Proud::AlreadyHasUnsafeInternalBufferError
 
PROUD_API const char * Proud::AlreadyHasExternalBufferError
 
static char * Proud::AnsiStrTraits::NullString
 
static wchar_t * Proud::UnicodeStrTraits::NullString
 
int Proud::StringT< XCHAR, StringTraits >::Tombstone::m_length
 
PROUDNET_VOLATILE_ALIGN intptr_t Proud::StringT< XCHAR, StringTraits >::Tombstone::m_refCount
 

상세한 설명

module

본 모듈에 대한 설명은 ProudNet의 유틸리티 를 참고하십시오.

타입정의 문서화

typedef StrBufT<char,AnsiStrTraits> Proud::StrBufA

ANSI 캐릭터 문자열용 문자열 버퍼 조작을 위한 클래스

typedef StrBufT<wchar_t,UnicodeStrTraits> Proud::StrBufW

Unicode 캐릭터 문자열용 문자열 버퍼 조작을 위한 클래스

typedef StringW Proud::String

문자열 클래스입니다. Windows와 Marmalade에서는 UTF-16을 지원하는 wchar_t 타입 문자열이지만 여타 플랫폼에서는 UTF-8을 지원하는 char 타입 문자열입니다.

typedef StringT<char,AnsiStrTraits> Proud::StringA

ANSI 캐릭터 문자열

typedef StringT<wchar_t,UnicodeStrTraits> Proud::StringW

Unicode 캐릭터 문자열

typedef RefCount<Thread> Proud::ThreadPtr

Smart pointer of thread object.

열거형 타입 문서화

Exception Type 객체

  • type으로 구분하여 해당 exception 객체의 포인터 및 정보를 얻을수 있습니다.
열거형 멤버
ExceptionType_None 

없음

ExceptionType_String 

Exception(LPCWSTR pFormat, ...); 으로 생성된 Exception

ExceptionType_Std 

Exception(std::exception& src); 으로 생성된 Exception

ExceptionType_ComError 

Exception(_com_error& src); 으로 생성된 Exception

ExceptionType_Void 

Exception(void* src); 으로 생성된 Exception

ExceptionType_ErrorInfo 

Exception(ErrorInfo* src); 으로 생성된 Exception

ExceptionType_Unhandled 

Exception() 으로 생성된 UnhandleException

ExceptionType_Clr 

CLR을 사용하는 경우 Managed code에서 발생한 Exception

Fast Heap을 접근하는 방식입니다.

열거형 멤버
FastHeapAccessMode_UnsafeSingleThread 

단 한개의 스레드만이 Fast Heap을 접근하지만 Fast Heap 내부가 Thread safe하지 않습니다. 이 설정은 단 한개의 스레드만이 Fast Heap을 접근한다는 것이 보장될 때만 사용하십시오!

FastHeapAccessMode_MultiThreaded 

여러 스레드에서 Fast Heap을 접근해도 안전하게 작동합니다. 그리고 모든 CPU 코어를 활용하는 작동법을 구사합니다.

이 객체의 배열 크기가 증가할 때 가중치 타입

열거형 멤버
GrowPolicy_Normal 

균형

GrowPolicy_HighSpeed 

고성능. 대신 메모리 사용량이 많음

GrowPolicy_LowMemory 

메모리 절감. 대신 배열 크기가 증가시 복사 부하로 인한 저성능.

함수 문서화

template<typename XCHAR, typename StringTraits>
void Proud::StringT< XCHAR, StringTraits >::Append ( const StringT< XCHAR, StringTraits > &  src)
inline

문자열 뒤에 다른 문자열을 덧붙인다.

template<typename XCHAR, typename StringTraits>
void Proud::StringT< XCHAR, StringTraits >::Append ( const XCHAR *  src)
inline

문자열 뒤에 다른 문자열을 덧붙인다.

template<typename XCHAR, typename StringTraits>
int Proud::StringT< XCHAR, StringTraits >::Compare ( const StringT< XCHAR, StringTraits > &  src) const
inline

이 객체의 문자열과 src가 가리키는 문자열을 비교한다. 이 객체의 문자열이 더 '사전적 앞'이면 음수가, 같으면 0, 그렇지 않으면 양수가 리턴된다.

template<typename XCHAR, typename StringTraits>
int Proud::StringT< XCHAR, StringTraits >::Compare ( const XCHAR *  src) const
inline

이 객체의 문자열과 src가 가리키는 문자열을 비교한다. 이 객체의 문자열이 더 '사전적 앞'이면 음수가, 같으면 0, 그렇지 않으면 양수가 리턴된다.

template<typename XCHAR, typename StringTraits>
int Proud::StringT< XCHAR, StringTraits >::CompareNoCase ( const StringT< XCHAR, StringTraits > &  src) const
inline

이 객체의 문자열과 src가 가리키는 문자열을 비교한다. 이 객체의 문자열이 더 '사전적 앞'이면 음수가, 같으면 0, 그렇지 않으면 양수가 리턴된다. 단, 대소문자 구별을 하지 않는다.

template<typename XCHAR, typename StringTraits>
int Proud::StringT< XCHAR, StringTraits >::CompareNoCase ( const XCHAR *  src) const
inline

이 객체의 문자열과 src가 가리키는 문자열을 비교한다. 이 객체의 문자열이 더 '사전적 앞'이면 음수가, 같으면 0, 그렇지 않으면 양수가 리턴된다. 단, 대소문자 구별을 하지 않는다.

PROUD_API uint32_t Proud::CountSetBits ( uintptr_t  bitMask)

비트가 1인 수를 체크합니다.

매개변수
bitMask비트를 검사할 변수
반환값
비트가 1인 수
PROUD_API bool Proud::CreateFullDirectory ( const PNTCHAR *  lpPathName,
String &  outCreatedDirectory 
)

디렉토리를 생성하고 풀패스를 구한다.

PROUD_API bool Proud::EnableLowFragmentationHeap ( )

Windows XP, 2003에서만 지원하는 기능으로 low-fragmentation heap을 쓴다.

  • 이걸 쓰면 SMP 환경에서 heap 접근 속도가 대폭 향상된다. 물론 low-fragmentation의 이익도 얻는다. 따라서 가능하면 이것을 쓰는 것이 강력 권장된다.
  • 이 메서드는 Windows 98 등에서는 지원되지 않는데, 이런 경우 이 메서드는 아무 것도 하지 않는다. 하지만 Windows 98에서 필요 Win32 API를 못 찾아 에러가 발생하지는 않는다.
template<typename XCHAR, typename StringTraits>
int Proud::StringT< XCHAR, StringTraits >::Find ( XCHAR  ch,
int  iStart = 0 
) const throw ()
inline

문자열의 iStart 번째 캐릭터부터 검색해서 ch 가 가리키는 글자의 위치를 찾는다. 못찾으면 -1을 리턴한다.

template<typename XCHAR, typename StringTraits>
int Proud::StringT< XCHAR, StringTraits >::Find ( const XCHAR *  pszSub,
int  iStart = 0 
) const throw ()
inline

문자열의 iStart 번째 캐릭터부터 검색해서 pszSub 가 가리키는 문자열의 첫 글자 위치를 찾는다. 못찾으면 -1을 리턴한다.

template<typename XCHAR, typename StringTraits>
void Proud::StringT< XCHAR, StringTraits >::Format ( const XCHAR *  pszFormat,
  ... 
)
inline

printf 처럼 문자열을 만든다. ( 문자열 만들기 기능(format) 참고)

template<typename XCHAR, typename StringTraits>
void Proud::StringT< XCHAR, StringTraits >::FormatV ( const XCHAR *  pszFormat,
va_list  args 
)
inline

printf 처럼 문자열을 만든다. ( 문자열 만들기 기능(format) 참고)

template<typename XCHAR, typename StringTraits>
XCHAR* Proud::StringT< XCHAR, StringTraits >::GetBuffer ( int  length = 0)
inline

문자열 데이터를 읽기 및 쓰기를 위해 포인터를 접근할 때 쓰는 메서드입니다.

  • 이 메서드를 쓰고 나서는 ReleaseBuffer로 마감해줘야 합니다. 이를 편하게 하려면 StrBufA나 StrBufW를 쓰면 됩니다.

    사용 예시

Proud::String a = L"abc";
wchar_t* pa = a.GetBuffer(100);
_wsprintf(pa, L"%d", 123);

더 나은 사용 예시

Proud::String a = L"abc";
Proud::StrBuf pa(a, 100);
_wsprintf(pa, L"%d", 123);

읽기 전용 사용 예시

Proud::String a = L"abc";
wchar_t* pa = a;
PROUD_API String Proud::GetComputerName ( )

컴퓨터 이름을 구한다.

PROUD_API String Proud::GetCurrentDirectory ( )

현재 디렉토리를 구한다.

PROUD_API HANDLE Proud::GetCurrentRealThread ( )

이 스레드의 실제 핸들을 구한다.

uint64_t Proud::GetCurrentThreadID ( )
Returns current thread ID.
  • win32 kinds: same to ::GetCurrentThreadId().
  • unix kinds: same to pthread_self().
PROUD_API String Proud::GetFullPath ( const PNTCHAR *  fileName)

파일의 절대 경로 이름을 구한다. 이미 절대 경로 이름이면 그대로 리턴한다.

template<typename XCHAR, typename StringTraits>
int Proud::StringT< XCHAR, StringTraits >::GetLength ( ) const
inline

문자열 길이를 얻습니다.

반환값
length Number of characters if wchar_t is used, number of bytes if char is used, regardless of multibyte or unicode encoding.
PROUD_API uint32_t Proud::GetNoofProcessors ( )

CPU갯수를 구한다.

PROUD_API size_t Proud::GetOccupiedPhysicalMemory ( )

물리적 메모리 점유율을 구한다.

int64_t Proud::GetPreciseCurrentTimeMs ( )

매우 정밀한 "현재 시간"을 얻는다. 정밀도는 1ms이며, 값을 얻어오는 부하는 critical section lock 1회이다.

PROUD_API String Proud::GetProcessName ( )

프로세스의 이름을 얻어온다.

template<typename XCHAR, typename StringTraits>
const XCHAR* Proud::StringT< XCHAR, StringTraits >::GetString ( ) const
inline

문자열 데이터를 읽을 수 있게 한다.

PROUD_API DWORD Proud::GetThreadStatus ( HANDLE const  handle)

현재 스레드의 상태를 얻어온다.

PROUD_API size_t Proud::GetTotalPhysicalMemory ( )

총 메모리를 구한다.

PROUD_API int Proud::GetTotalThreadCount ( )

현재 프로세스에서 사용되고 있는 총 스레드의 수를 얻어온다.

template<typename XCHAR, typename StringTraits>
bool Proud::StringT< XCHAR, StringTraits >::IsEmpty ( ) const
inline

빈 문자열인가?

PROUD_API bool Proud::IsGqcsExSupported ( )

GetQueuedCompletionStatusEx 사용 가능 여부를 검사한다. Server2008이상만 사용할수 있다고 알려져 있다.

반환값
사용가능하면 1 아니면 0
PROUD_API bool Proud::IsHyperThreading ( )

HyperThreading를 지원하는지를 검사한다.

PROUD_API bool Proud::IsServiceMode ( )

현재 Process가 Service Mode로 실행중인지 여부를 검사합니다.

반환값
서비스모드면 1 아니면 0
template<typename XCHAR, typename StringTraits>
StringT Proud::StringT< XCHAR, StringTraits >::Left ( int  nCount) const
inline

문자열 내에서 좌측으로부터 nCount만큼의 문자열만 추려서 리턴한다.

template<typename T >
T Proud::Lerp ( v1,
v2,
ratio 
)
inline

두 값 v1,v2의 v1->v2로의 내분값 ratio을 구한다. ratio가 0에 가까울수록 v1에 가깝다.

template<typename T >
T Proud::LerpInt ( v1,
v2,
ratio1,
ratio2 
)
inline

Lerp의 정수형 버전. ratio의 분자는 ratio1,분모는 ratio2

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::MakeLower ( )
inline

문자열을 소문자화한다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::MakeUpper ( )
inline

문자열을 대문자화한다.

template<typename XCHAR, typename StringTraits>
StringT Proud::StringT< XCHAR, StringTraits >::Mid ( int  iFirst) const
inline

문자열 안에서 iFirst가 가리키는 곳부터 나머지 글자를 추려서 리턴한다.

template<typename XCHAR, typename StringTraits>
StringT Proud::StringT< XCHAR, StringTraits >::Mid ( int  iFirst,
int  nCount 
) const
inline

문자열 안에서 iFirst가 가리키는 곳부터 nCount 만큼의 글자를 추려서 리턴한다.

template<typename XCHAR, typename StringTraits>
static StringT Proud::StringT< XCHAR, StringTraits >::NewFormat ( const XCHAR *  pszFormat,
  ... 
)
inlinestatic

Format 메소드와 똑같은 기능을 하지만, static 메소드이며 새로운 객체를 리턴한다.

template<typename XCHAR, typename StringTraits>
Proud::StringT< XCHAR, StringTraits >::operator const XCHAR * ( ) const
inline
    문자열 데이터를 아래 예시처럼 바로 읽을 수 있게 해준다. 
Proud::String a = L"abc";
const wchar_t *b = a; // 객체 a에 있는 문자열 포인터를 b가 받는다.
template<typename XCHAR, typename StringTraits>
bool Proud::StringT< XCHAR, StringTraits >::operator!= ( const StringT< XCHAR, StringTraits > &  src) const
inline

비교 연산자

template<typename XCHAR, typename StringTraits>
bool Proud::StringT< XCHAR, StringTraits >::operator!= ( const XCHAR *  src) const
inline

비교 연산자

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::operator+= ( const StringT< XCHAR, StringTraits > &  src)
inline

문자열 덧붙이기 연산자

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::operator+= ( const XCHAR *  src)
inline

문자열 덧붙이기 연산자

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::operator= ( const StringT< XCHAR, StringTraits > &  src)
inline

문자열 복사 대입 연산자

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::operator= ( const XCHAR *  src)
inline

문자열 복사 대입 연산자

template<typename XCHAR, typename StringTraits>
bool Proud::StringT< XCHAR, StringTraits >::operator== ( const StringT< XCHAR, StringTraits > &  src) const
inline

비교 연산자

template<typename XCHAR, typename StringTraits>
bool Proud::StringT< XCHAR, StringTraits >::operator== ( const XCHAR *  src) const
inline

비교 연산자

template<typename XCHAR, typename StringTraits>
void Proud::StringT< XCHAR, StringTraits >::ReleaseBuffer ( )
inline

GetBuffer를 호출했으면 이걸로 마무리를 해줘야 한다. 안그러면 문자열 길이를 정확하게 가지지 못할 수 있다. 자세한 것은 GetBuffer 설명 참고.

template<typename XCHAR, typename StringTraits>
int Proud::StringT< XCHAR, StringTraits >::Replace ( XCHAR  chOld,
XCHAR  chNew 
)
inline

문자열 중 chOld가 가리키는 글자를 chNew 로 바꾼다.

template<typename XCHAR, typename StringTraits>
int Proud::StringT< XCHAR, StringTraits >::Replace ( const XCHAR *  pszOld,
const XCHAR *  pszNew 
)
inline

문자열 중 pszOld가 가리키는 문자열을 pszNew 로 바꾼다.

template<typename XCHAR, typename StringTraits>
StringT Proud::StringT< XCHAR, StringTraits >::Right ( int  nCount) const
inline

문자열 내에서 우측으로부터 nCount만큼의 문자열만 추려서 리턴한다.

template<typename FloatType >
FloatType Proud::ScalarLerp ( const FloatType  v1,
const FloatType  v2,
const FloatType  ratio 
)
inline

두 값 v1,v2의 v1->v2로의 내분값 ratio을 구한다. ratio가 0에 가까울수록 v1에 가깝다.

PROUD_API void Proud::SetCurrentDirectoryWhereProgramExists ( )

이 프로그램이 실행되고 있는 폴더를 찾아서 current directory로 세팅한다.

  • 이렇게 하는 경우 다른 디렉토리에서 이 프로그램을 실행시켜도 media file을 제대로 찾는다.
template<typename XCHAR, typename StringTraits>
void Proud::StringT< XCHAR, StringTraits >::SetLength ( int  length)
inline

문자열 길이를 재조정한다.

매개변수
lengthNumber of characters if wchar_t is used, number of bytes if char is used, regardless of multibyte or unicode encoding.
PROUD_API void Proud::SetThreadName ( uint32_t  dwThreadID,
const char *  szThreadName 
)

스레드에 이름을 지정한다. 이렇게 하면 디버거 스레드 뷰에서 각 스레드에 이름이 표시된다.

  • 디버깅이 편해질 것이다.
  • 보다 자세한 내용은 ms-help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/vsdebug/html/vxtskSettingThreadName.htm 참고
PROUD_API void Proud::ShowUserMisuseError ( const PNTCHAR *  text)

ProudNet 사용자가 실수한 경우에만 보여주는 에러다.

template<typename XCHAR, typename StringTraits>
Proud::StringT< XCHAR, StringTraits >::StringT ( )
inline

생성자

template<typename XCHAR, typename StringTraits>
Proud::StringT< XCHAR, StringTraits >::StringT ( const StringT< XCHAR, StringTraits > &  src)
inline

src가 가리키는 문자열을 가져온다.

template<typename XCHAR, typename StringTraits>
Proud::StringT< XCHAR, StringTraits >::StringT ( const XCHAR *  src,
int  length = 0 
)
inline

문자열을 가져온다.

StringA Proud::StringW2A ( const wchar_t *  src,
CStringEncoder *  encoder = NULL 
)

캐릭터 문자열 변환함수

template<typename XCHAR, typename StringTraits>
StringT Proud::StringT< XCHAR, StringTraits >::Tokenize ( const XCHAR *  pszTokens,
int &  iStart 
) const
inline

pszToken가 가리키는 구분자들로 구별된 문자열을 뜯어내서 하나씩 리턴한다.

사용 예

Proud::String str(L"%First Second#Third");
Proud::String resToken;
int curPos = 0;
resToken= str.Tokenize(L"% #",curPos);
while (resToken != L"")
{
_tprintf_s(L"Resulting token: %s\n", resToken);
resToken = str.Tokenize(L"% #", curPos);
};
void Proud::TraceA ( const char *  format,
  ... 
)

debug output or console에 디버깅용 문구를 출력합니다. newline은 추가되지 않습니다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::Trim ( )
inline

문자열 양쪽 끝에 남아있는 빈 글자들을 잘라내버린다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::Trim ( XCHAR  chTarget)
inline

문자열 양쪽 끝에 남아있는 chTarget이 가리키는 글자들을 잘라내버린다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::Trim ( const XCHAR *  pszTargets)
inline

문자열 양쪽 끝에 남아있는 pszTargets이 가리키는 글자들을 잘라내버린다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::TrimLeft ( )
inline

문자열 왼쪽 끝에 남아있는 빈 글자들을 잘라내버린다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::TrimLeft ( XCHAR  chTarget)
inline

문자열 좌측 끝에 남아있는 chTarget이 가리키는 글자들을 잘라내버린다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::TrimLeft ( const XCHAR *  pszTargets)
inline

문자열 좌측 끝에 남아있는 pszTargets이 가리키는 글자들을 잘라내버린다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::TrimRight ( )
inline

문자열 오른쪽 끝에 남아있는 빈 글자들을 잘라내버린다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::TrimRight ( XCHAR  chTarget)
inline

문자열 우측 끝에 남아있는 chTarget이 가리키는 글자들을 잘라내버린다.

template<typename XCHAR, typename StringTraits>
StringT& Proud::StringT< XCHAR, StringTraits >::TrimRight ( const XCHAR *  pszTargets)
inline

문자열 우측 끝에 남아있는 pszTargets이 가리키는 글자들을 잘라내버린다.

PROUD_API void Proud::USleep ( long  uSec)

Microsecond Sleep Function.

typedef Proud::VOID ( NTAPI *  WaitOrTimerCallbackProc)

타이머 유저 콜백 함수

  • 타이머 콜백 또는 등록된 대기 콜백을 위한 시작 주소를 제공하는 어플리케이션 정의 함수 이다. 이 주소는 CreateTimerQueueTimer와 RegisterWaitForSingleObject 함수로 지정 한다.

WaitOrTimerCallbackProc 타입은 콜백 함수로의 포인터를 정의한다. WaitOrTimerCallbackProc은 어플리케이션 정의 함수 이름을 위한 플레이스홀더 이다.

매개변수
[in]lpParameter스레드 데이터는 CreateTimerQueueTimer 및 RegisterWaitForSingleObject 함수의 파라미터를 사용하는 함수로 보내진다.
TimerOrWaitFired만약 이 파라미터가 TRUE 라면 대기시같이 끝난다. 만약 이 파라미터가 FALSE 라면 대기 이벤트는 신호를 발생시킨다. (이 파라미터는 타이머 콜백을 위해 항상 TRUE 이다.)
template<typename XCHAR, typename StringTraits>
Proud::StringT< XCHAR, StringTraits >::~StringT ( )
inline

파괴자