Graphisoft®

GSRootVersion: 1.0

UniString Class

유니코드(UTF-16) 문자열.

class UniString : public Object

멤버

생성자 및 할당 연산자

UniString UniString 생성자입니다.
operator= 할당 연산자입니다.
Assign 여러 파라미터들을 가진 할당입니다.

문자 접근

operator[] 인덱스를 통한 문자 접근입니다.
GetChar 인덱스로 지정한 문자를 리턴합니다.
SetChar 인덱스로 지정한 문자의 값을 세트합니다.

하위 문자열 접근

operator() 문자열의 하위 문자열을 리턴합니다.
GetSubstring 문자열의 하위 문자열을 리턴합니다.
GetPrefix 문자열의 접두사 하위 문자열을 리턴합니다.
GetSuffix 문자열의 접미사 하위 문자열을 리턴합니다.
SetSubstring 지정한 하위 문자열의 내용을 세트합니다.

삽입하기, 이어붙이기, 채우기

Insert 문자열의 지정한 위치에 새로운 내용을 삽입합니다.
Append 문자열의 끝에 새로운 내용을 이어붙입니다.
operator+= 문자열의 끝에 새로운 내용을 이어붙입니다.
operator+ 문자열과 다른 타입의 연결입니다.
Pad 문자열을 주어진 길이가 될 때까지 확장시킵니다.
Fill 문자열을 주어진 문자로 채웁니다.

제거하기

Delete 문자열로부터 지정한 문자, 또는 문자들의 범위를 제거합니다.
DeleteFirst 주어진 문자 또는 문자열이 처음 발생하는 문자 또는 문자열을 제거합니다.
DeleteLast 주어진 문자 또는 문자열이 마지막으로 발생하는 문자 또는 문자열을 제거합니다.
DeleteAll 주어진 문자 또는 문자열을 모두 제거합니다.
TrimLeft 맨 앞에 나오는 모든 공백(whitespace) 또는 지정한 문자들을 제거합니다.
TrimRight 맨 뒤에 나오는 모든 공백(whitespace) 또는 지정한 문자들을 제거합니다.
Trim 맨 앞과 맨 뒤에 나오는 모든 공백(whitespace) 또는 지정한 문자들을 제거합니다.
Clear 문자의 내용을 지웁니다.

길이 및 용량 관리

SetLength 문자열의 길이를 세트합니다.
GetLength 문자열의 길이를 문자들의 개수로 리턴합니다.
IsEmpty 문자열이 비어 있는지 여부를 리턴합니다.
SetCapacity 문자열의 용량을 세트합니다.
GetCapacity 문자열의 용량을 리턴합니다.

비교

operator== 문자열 및 다른 타입들의 대소문자 구분 '동등함' 비교입니다.
operator!= 문자열 및 다른 타입들의 대소문자 구분 '동등하지 않음' 비교입니다.
operator< 문자열들의 대소문자 구분 '더 작음' 비교입니다.
operator<= 문자열들의 대소문자 구분 '더 작거나 같음' 비교입니다.
operator> 문자열들의 대소문자 구분 '더 큼' 비교입니다.
operator>= 문자열들의 대소문자 구분 '더 크거나 같음' 비교입니다.

검색 및 치환

Contains 문자열이 주어진 문자 또는 문자열을 포함하고 있는지 여부를 리턴합니다.
FindFirst 주어진 문자 또는 문자열이 처음 발생하는 곳을 검색합니다.
FindLast 주어진 문자 또는 문자열이 마지막 발생하는 곳을 검색합니다.
FindFirstIn 주어진 문자들 중에서 처음 등장하는 곳을 검색합니다.
FindLastIn 주어진 문자들 중에서 마지막 등장하는 곳을 검색합니다.
FindFirstNotIn 주어진 문자들에 속하지 않은 문자가 처음 등장하는 곳을 검색합니다.
FindLastNotIn 주어진 문자들에 속하지 않은 문자가 마지막 등장하는 곳을 검색합니다.
BeginsWith 문자열이 주어진 문자 또는 문자열로 시작하는지 여부를 리턴합니다.
EndsWith 문자열이 주어진 문자 또는 문자열로 끝나는지 여부를 리턴합니다.
ReplaceFirst 처음 발생한 문자 또는 문자열을 다른 것으로 대체합니다.
ReplaceLast 마지막 발생한 문자 또는 문자열을 다른 것으로 대체합니다.
ReplaceAll 발생하는 모든 문자 또는 문자열을 다른 것으로 대체합니다.
Count 주어진 문자 또는 문자열의 발생 횟수를 셉니다.

문자 지정 조작

SetToLowerCase 문자열을 소문자로 변환합니다.
SetToUpperCase 문자열을 대문자로 변환합니다.

변환

ToUStr 문자열의 Unicode 레이아웃 표현을 리턴합니다.
ToCStr 문자열의 C 문자열 형태를 리턴합니다.
ToPStr 문자열의 Pascal 문자열 형태를 리턴합니다.

설명

UniString은 Unicode 문자열, 즉 Unicode 문자들의 시퀀스입니다. (UniChars)
UniString은 reference counted implementation을 갖고 있습니다. 그래서 문자열들은 빠르게 값으로 전달되고 복사될 수 있었습니다. 왜냐하면 문자열들의 소스와 사본은 변경 전까지 동일한 내용을 공유하기 때문입니다. (이 기법을 COW라고 함: Copy On Write) reference counted implementation은 값으로 문자열들을 리턴하는 것을 용이하게 합니다.
UniString은 하나의 연속적인 재배치 메모리 버퍼 안에 Unicode 문자들을 저장합니다. 어떤 새로운 문자가 내부 버퍼에 맞지 않을 때, 더 큰 버퍼가 할당되고 모든 문자들은 새로운 버퍼로 복사됩니다. 새로운 버퍼의 크기는 예전보다 1.5배 더 클 것입니다. 문자열에서 문자들을 제거할 때에도 사용하지 않는 메모리를 해제하기 위해 재배치가 발생할 수 있습니다. 이것은 버퍼의 절반 이하를 사용할 때 발생합니다. 이러한 경우 새로운 버퍼의 크기는 대략 현재 요청했던 만큼 커지게 될 것입니다.
최근에 파괴된 작은 문자열들의 메모리 버퍼는 거의 캐시되지 않고 새로운 문자열들에게 회수됩니다. 메모리 버퍼의 생성과 파괴는 메모리 Heap 동작들을 거의 포함하지 않기 때문에 메소드 및 함수 내부에서 (작은) 로컬 문자열들을 사용하는 것이 저렴합니다. 빈 문자열들은 메모리를 사용하지 않는다는 것을 참고하십시오.
연결의 피연산자들이 전부 모인 뒤에 한 번에 전체 연결을 수행하기 때문에 문자열, 문자, 하위 문자열, C 문자열들은 operator+ 연산을 이용하여 하나의 표현식으로 매우 효과적으로 연결될 수 있습니다.
문자열은 하위 문자열 생성 연산자들을 갖고 있습니다. (예. operator()) 하위 문자열은 소스 문자열의 일부분을 참조하기 때문에 그 자체는 메모리를 절대 할당하지 않습니다. 하위 문자열들은 다양한 타입들(문자열, 하위 문자열, C 문자열 등)과 함께 효과적으로 비교할 수 있으며 다양한 할당 및 연결에 참여할 수 있습니다. 이 동작들은 항상 소스 문자열들의 해당 부분에서 수행됩니다.

요구사항

네임스페이스: GS

헤더: UniString.hpp

참고사항

UniChar