55: Boo子有親! 부스트를 늘 여러분 가까이에
부스트는 C++ 개발자들의 단체이자 무료 다운로드가 가능한 C++ 라이브러리 집합을 동시에 일컫는 고유명사이다. 물론 C++만 다루는 개발자 단체 및 웹사이트는 부스트 말고도 정말 많다. 하지만 부스트는 다른 곳과는 다른 차별점이 있다.
첫째, 부수트는 C++ 표준화 위원회와 밀접하고 영향력 있는 밀월관계를 유지하고 있는 곳으로 유일하다.
둘째, 라이브러리 승인 과정이다. 이곳의 승인 과정은 공개 동료 심사(public peer review)에 기반을 두고 있다.
부수트의 라이브러리 군단은 크게 십수 개의 범주로 나뉘어 있다.
- 문자열 및 텍스트 처리
- 타입 안정성을 갖춘 printf 비슷한 서식화 기능, 정규 표현식 및 토큰화와 구문분석 기능
- 컨테이너
- STL 양식의 인터페이스를 제공하는 고정 크기 배열, 가변 크기 비트세트, 다차원 배열 등이 포함
- 함수 객체 및 고차(higher-order) 프로그래밍
- 람다(Lambda) 라이브러리 등
- 일반화 프로그래밍
- 특성정보(traits) 클래스
- 템플릿 메타프로그래밍(TMP, 항목 48 참조)
- 컴파일 타임 단정문, 부스트 MPL 라이브러리 등이 포함
- 수학 및 수치 조작
- 유리수, 4원수(quaternion) 및 8원수(octonion), 최대 공약수 및 최소 공배수, 난수 등이 포함
- 정확성 유지 및 테스트
- 암시적 템플릿 인터페이스(항목 41 참조)를 형식화해 주는 라이브러리와 테스트 우선 프로그래밍을 가능하게 해 주는 라이브러리
- 자료구조
- 타입 안정성을 갖춘 공용체, 투플 라이브러리가 이 범주에 들어간다.
- 타 언어와의 연동 지원
- C++와 파이썬 사이의 걸림돌 없는 상호운용을 가능하게 하는 라이브러리도 지원한다.
- 메모리
- 고성능의 고정 크기 할당자를 지원하는 풀(Pool) 라이브러리(항목 50 참조) TR1에도 (일부) 포함된 가지각색의 스마트 포인터(항목 13 참조)가 이 범주에 들어간다.
- TR1에 속하지 않은 스마트 포인터 중 하나가 scoped_array이다. 동적으로 할당된 배열에 대해 동작하는 auto_ptr 같은 스마트 포인터라고 보면 된다.
- 기타
- CRC 점검, 날짜 및 시간 조작, 파일 시스템 횡단 등을 지원하는 라이브러리가 주요 구성요소이다.
이것만은 잊지 말자!
- 부스트는 동료 심사를 거쳐 등록되고 무료로 배포되는 오픈 소스 C++ 라이브러리를 개발하는 모임이자 웹사이트이다. 또한 C++ 표준화에 있어서 영향력 있는 역할을 맡고 있다.
- 부스트에서 배포되는 라이브러리들 중엔 TR1 구성요소에 들어간 것도 있지만, 그 외에 다른 라이브러리들도 아주 많다.
'C++ > Effective C++' 카테고리의 다른 글
[Effective C++] 54: TR1을 포함한 표준 라이브러리 구성요소와 편안한 친구가 되자 (1) | 2023.11.26 |
---|---|
[Effective C++] 53: 컴파일러 경고를 지나치지 말자 (1) | 2023.11.25 |
[Effective C++] 52: 위치지정 new를 작성한다면 위치지정 delete도 같이 준비하자 (0) | 2023.11.24 |
[Effective C++] 51: new 및 delete를 작성할 때 따라야 할 기존의 관례를 잘 알아 두자 (0) | 2023.11.22 |
[Effective C++] 50: new 및 delete를 언제 바꿔야 좋은 소리를 들을지를 파악해 두자 (1) | 2023.11.21 |
55: Boo子有親! 부스트를 늘 여러분 가까이에
부스트는 C++ 개발자들의 단체이자 무료 다운로드가 가능한 C++ 라이브러리 집합을 동시에 일컫는 고유명사이다. 물론 C++만 다루는 개발자 단체 및 웹사이트는 부스트 말고도 정말 많다. 하지만 부스트는 다른 곳과는 다른 차별점이 있다.
첫째, 부수트는 C++ 표준화 위원회와 밀접하고 영향력 있는 밀월관계를 유지하고 있는 곳으로 유일하다.
둘째, 라이브러리 승인 과정이다. 이곳의 승인 과정은 공개 동료 심사(public peer review)에 기반을 두고 있다.
부수트의 라이브러리 군단은 크게 십수 개의 범주로 나뉘어 있다.
- 문자열 및 텍스트 처리
- 타입 안정성을 갖춘 printf 비슷한 서식화 기능, 정규 표현식 및 토큰화와 구문분석 기능
- 컨테이너
- STL 양식의 인터페이스를 제공하는 고정 크기 배열, 가변 크기 비트세트, 다차원 배열 등이 포함
- 함수 객체 및 고차(higher-order) 프로그래밍
- 람다(Lambda) 라이브러리 등
- 일반화 프로그래밍
- 특성정보(traits) 클래스
- 템플릿 메타프로그래밍(TMP, 항목 48 참조)
- 컴파일 타임 단정문, 부스트 MPL 라이브러리 등이 포함
- 수학 및 수치 조작
- 유리수, 4원수(quaternion) 및 8원수(octonion), 최대 공약수 및 최소 공배수, 난수 등이 포함
- 정확성 유지 및 테스트
- 암시적 템플릿 인터페이스(항목 41 참조)를 형식화해 주는 라이브러리와 테스트 우선 프로그래밍을 가능하게 해 주는 라이브러리
- 자료구조
- 타입 안정성을 갖춘 공용체, 투플 라이브러리가 이 범주에 들어간다.
- 타 언어와의 연동 지원
- C++와 파이썬 사이의 걸림돌 없는 상호운용을 가능하게 하는 라이브러리도 지원한다.
- 메모리
- 고성능의 고정 크기 할당자를 지원하는 풀(Pool) 라이브러리(항목 50 참조) TR1에도 (일부) 포함된 가지각색의 스마트 포인터(항목 13 참조)가 이 범주에 들어간다.
- TR1에 속하지 않은 스마트 포인터 중 하나가 scoped_array이다. 동적으로 할당된 배열에 대해 동작하는 auto_ptr 같은 스마트 포인터라고 보면 된다.
- 기타
- CRC 점검, 날짜 및 시간 조작, 파일 시스템 횡단 등을 지원하는 라이브러리가 주요 구성요소이다.
이것만은 잊지 말자!
- 부스트는 동료 심사를 거쳐 등록되고 무료로 배포되는 오픈 소스 C++ 라이브러리를 개발하는 모임이자 웹사이트이다. 또한 C++ 표준화에 있어서 영향력 있는 역할을 맡고 있다.
- 부스트에서 배포되는 라이브러리들 중엔 TR1 구성요소에 들어간 것도 있지만, 그 외에 다른 라이브러리들도 아주 많다.
'C++ > Effective C++' 카테고리의 다른 글
[Effective C++] 54: TR1을 포함한 표준 라이브러리 구성요소와 편안한 친구가 되자 (1) | 2023.11.26 |
---|---|
[Effective C++] 53: 컴파일러 경고를 지나치지 말자 (1) | 2023.11.25 |
[Effective C++] 52: 위치지정 new를 작성한다면 위치지정 delete도 같이 준비하자 (0) | 2023.11.24 |
[Effective C++] 51: new 및 delete를 작성할 때 따라야 할 기존의 관례를 잘 알아 두자 (0) | 2023.11.22 |
[Effective C++] 50: new 및 delete를 언제 바꿔야 좋은 소리를 들을지를 파악해 두자 (1) | 2023.11.21 |