책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788956742670
· 쪽수 : 406쪽
· 출판일 : 2005-06-25
책 소개
목차
서문
감사의 말
이 책을 제대로 활용하려면
1. 도입
1.1 시작하며
1.2 메타프로그램이란?
1.3 호스트 언어 안에서의 메타프로그래밍
1.4 C++의 메타프로그래밍
1.5 메타프로그래밍이 필요한 이유
1.6 언제 메타프로그래밍을 할 것인가
1.7 메타프로그래밍 라이브러리가 필요한 이유
2. 특질과 형식 다루기
2.1 형식 연관
2.2 메타함수
2.3 수치적인 메타함수
2.4 실행 시점에서의 선택
2.5 Boost Type Traits 라이브러리에 대한 간단한 소개
2.6 무항 메타함수
2.7 메타함수의 정의
2.8 역사
2.9 세부사항
2.10 실습 과제
3. 메타함수에 대해 좀 더 자세히
3.1 차원 해석
3.2 고차 메타함수들
3.3 자리표 다루기
3.4 람다의 추가적인 기능들
3.5 람다의 세부사항
3.6 세부사항
3.7 실습 과제
4. 정수 형식 래퍼들과 연산들
4.1 부울 래퍼들과 연산들
4.2 정수 래퍼들과 연산들
4.3 실습 과제
5. 순차열과 반복자
5.1 개념
5.2 순차열과 알고리즘
5.3 반복자
5.4 반복자 개념들
5.5 순차열 개념들
5.6 순차열의 상등
5.7 고유 순차열 연산들
5.8 순차열 클래스들
5.9 정수 순차열 래퍼들
5.10 순차열 파생
5.11 순차열을 직접 작성하려면
5.12 세부사항
5.13 실습 과제
6. 알고리즘
6.1 알고리즘, 관용구, 재사용, 추상
6.2 MPL의 알고리즘들
6.3 삽입자
6.4 기본적인 순차열 알고리즘들
6.5 조회 알고리즘들
6.6 순차열 생성 알고리즘들
6.7 알고리즘 직접 작성하기
6.8 세부사항
6.9 실습 과제
7. 뷰와 반복자 적응자
7.1 예제 몇 개
7.2 뷰 개념
7.3 반복자 적응자
7.4 뷰 직접 작성하기
7.5 역사
7.6 실습 과제
8. 진단
8.1 오류 소설을 디버깅하기
8.2 도구를 이용한 진단 분석
8.3 의도적인 진단 생성
8.4 역사
8.5 세부사항
8.6 실습 과제
9. 컴파일 시점/실행시점 경계 건너기
9.1 for_each
9.2 구현 선택
9.3 객체 생성기
9.4 구조 선택
9.5 클래스 합성
9.6 템플릿 인수로서의 (멤버)함수 포인터
9.7 형식 삭제(type erasure)
9.8 묘하게 되풀이되는 템플릿 패턴
9.9 중복적재 집합의 명시적인 관리
9.10 "sizeof 트릭"
9.11 요약
9.12 실습 과제
10. 영역 국한 내장 언어
10.1 작은 언어 하나...
10.2 ...생각보다는 크다
10.3 뒤집힌 DSL
10.4 호스트 언어로서의 C++
10.5 Blitz++와 표현식 템플릿
10.6 범용 DSEL들
10.7 Boost Spirit 라이브러리
10.8 요약
10.9 실습 과제
11. DSEL 설계 따라하기
11.1 유한상태기계
11.2 프레임웍 설계 목표
11.3 프레임웍 인터페이스 기초
11.4 DSL 선택
11.5 구현
11.6 분석
11.7 C++ 언어 자체의 개선 방향
11.8 실습 과제
부록 A 전처리기 메타프로그래밍 입문
A.1 동기
A.2 전처리기의 근본 추상들
A.3 전처리기 라이브러리 구조
A.4 전처리기 라이브러리의 추상들
A.5 실습 과제
부록 B typename 키워드와 template 키워드
B.1 논점
B.2 규칙
부록 C 컴파일 시점 성능
C.1 계산 모형
C.2 컴파일 시간 관리
C.3 테스트
부록 D MPL 이식성 요약
참고문헌
찾아보기



















