번역자 : 3DMP 운영자

boost 버전 : Boost 1.51.0 Library

원본 : http://www.boost.org

목적 : study

용어 : boost 에서 정해져있는 영어 대명사등이 될법한 것들을 번역하지 않고 그대로 기제합니다

남기는 말 : 해석순서는 순차적으로 가지만 쓸만한것 위주로 번역하고 번역하지 않고 보류하는 것에 대해선

제목과 같이 써놓겠습니다.

틀린 번역이나 오타가 있다면 댓글 달아주시거나 글을 남겨주시면 참고하여 수정하도록 하겠습니다



[Boost 1.51.0 라이브러리 문서]

항목별로

문자와 문자 처리

  • Conversion: 다형성과 사전적 캐스트들.
  • Format: format 라이브러리는 foramt-string을 따라 아규먼트들을 포멧하기위한 클래스를 제공한다, printf가 제공하는것처럼,
    그러나 주요 차이점 :
    format 은 내부의 스트림으로 아규먼트들을 전달한다, 그리고 또한 온전히 타입이 안전하고 자연스럽게 모든 유저저의 타입들을 지원한다.
  • Iostreams: Boost.IOStreams은 정의되는 스트림, 스트림 버퍼와 입/출력 파일을 위한 프레임워크를 제공한다.
  • Lexical Cast: 일반적인 문자그대로의 텍스트 변환, int가 string을 나타내거나 또는 반대인경우, Kevlin Henney로부터...
  • Locale: 로컬리제이션과 C++을 위한 툴들을 취급하는 유니코드를 제공한다.
  • Regex: 정규표현식 라이브러리.
  • Spirit: LL 파서 프레임워크는 인라인된 C++안에서 EBNF 문법처럼 직접적으로 파서들을 나타낸다.
  • String Algo: String 알고리즘 라이브러리.
  • Tokenizer: string또는 토큰들의 나열로 다른 문자연속을 분리한다.
  • Wave: Boost.Wave 라이브러리는 표준 준수이고, C99/C++ 프로세서 기능성의 고도로 설정된 수행이 iterator 인터페이스를 사용하기 위해서 쉬운것을 넘어 포장되어있다.
  • Xpressive: string이나 expreesion 템플릿처럼 쓰여질수있는 정규표현식, 그리고 그것은(expression 템플릿)은 각각 다른것들 그리고
    그들과 context-free 문법의 힘을가지고 재귀적으로 그것자체들을 참조한다.

컨테이너들

  • Array: 상수 사이즈의 배열을 위한 STL 호환 컨테이너 래퍼.
  • Bimap: C++을 위한 양방향성의 map 라이브러리. Boost.Bitmap으로 당신은 양쪽 타입이 키 로서 사용되어질 수 있는 연관 컨테이너를 만들 수있다.
  • Circular Buffer: STL 준수 컨테이너는 링이나 순환버퍼로 또한 알려져있다.
  • Container: 표준라이브러리 컨테이너와 확장들.
  • Dynamic Bitset: dynamic_bitset 클래스는 비트의 세트를 나타낸다. 그것은 operator[] 를 거쳐 각각의 비트의 값으로 접근과 그리고
    본래의 정수들로 적용할 수 있는 비트에관한 operator들의 모든것을 제공한다, 예를들어 operator&와 operator<< 세트안의 숫자가 dynamic_bitset의 생성자에 파라미터를 가쳐 실행시간에 구체화되어지는것과 같이.
  • GIL: 일반적 이미지 라이브러리
  • Graph: BGL 그래프 인터페이스와 그래프 구성요소는 일반적이다, 같은 의미안에서 표준 템플릿 라이브러리(STL) 처럼.
  • ICL: 인터벌 컨테이너 라이브러리, 인터벌 세트들(sets) 그리고 맵들(maps)과 연관되어있는 값들의 집합
  • Intrusive: Intrusive 컨테이너들과 알고리즘들.
  • Multi-Array: Boost.MultiArray는 일반적은 N 차원적의 배열 컨셉정의와 그것(배열)의 인터페이스의 공통적 구현을 제공한다.
  • Multi-Index: Boost 멀티인덱스 컨테이너 라이브러리는 하나 또는 다른 정렬과 접근 의미를 가지고 더많은 인덱스들을 유지하는 컨테이너의 구조를 가능하게하는 multi_index_container로 지명된 클래스 템플릿을 제공한다.
  • Pointer Container: 객체지향적 프로그래밍을 용이하게 하기위해서 힙이할당된 다형성 오브젝트를 정렬을 위한 컨테이너.
  • Property Map: value 오브젝트로 키 오브젝트를 만든 인터페이스를 정의한 개념.
  • Property Tree: 환경설정 데이터를 정렬하는것에 특별히 적합한 트리 데이터구조.
  • Unordered: 정렬되지않은 연관 컨테이너.
  • Variant: 안전, 일반적, 스택 기반된 차별된 병합(union) 컨테이너.

이터레이터들

  • GIL: =(일반적인 이미지 라이브러리)
  • Graph: BGL 그래프 인터페이스와 그래프 구성요소는 일반적(포괄적)이다, 표준 템플릿 라이브러리(STL)로서 같은 의미안에서.
  • Iterators: Boost 이터레이터(Iterator) 라이브러리는 두가지를 포함한다. 첫번째는 C++ 표준 이터레이터 필요조건을 확장할수 있는 개념의 시스템이다. 두번째는 이 확장되어진 개념들로 기반되어진 이터레이터를 만들기위한 구성요소들의 프레임워크이다 그리고 몇몇의 유용한 이터레이터 어뎁터(adaptors)를 포함한다.
  • Operators: 템플릿은 산술클래스들과 이터레이터들을 용이하게한다.
  • Tokenizer: string 이나 토큰의 연속에서 다른 문자 시퀀스를 절단(분할)한다.

알고리즘들

  • Algorithm: 유용한 일반적 알고리즘들의 모임.
  • Foreach: In C++, writing a loop that iterates over a sequence is tedious. We can either use iterators, which requires a considerable amount of boiler-plate, or we can use the std::for_each() algorithm and move our loop body into a predicate, which requires no less boiler-plate and forces us to move our logic far from where it will be used. In contrast, some other languages, like Perl, provide a dedicated "foreach" construct that automates this process. BOOST_FOREACH is just such a construct for C++. It iterates over sequences for us, freeing us from having to deal directly with iterators or write predicates.
  • Geometry: Geometry Library.
  • GIL: Generic Image Library
  • Graph: The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL).
  • Min-Max: Standard library extensions for simultaneous min/max and min/max element computations.
  • Range: A new infrastructure for generic algorithms that builds on top of the new iterator concepts.
  • String Algo: String algorithms library.
  • Utility: Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom.

함수 오브젝트들과 고차원 프로그래밍

  • Bind: boost::bind is a generalization of the standard functions std::bind1st and std::bind2nd. It supports arbitrary function objects, functions, function pointers, and member function pointers, and is able to bind any argument to a specific value or route input arguments into arbitrary positions.
  • Function: Function object wrappers for deferred calls or callbacks.
  • Functional: The Boost.Function library contains a family of class templates that are function object wrappers.
  • Functional/Factory: Function object templates for dynamic and static object creation
  • Functional/Forward: Adapters to allow generic function objects to accept arbitrary arguments
  • Functional/Hash: A TR1 hash function object that can be extended to hash user defined types.
  • Functional/Overloaded Function: Overload different functions into a single function object.
  • Lambda: Define small unnamed function objects at the actual call site, and more.
  • Local Function: Program functions locally, within other functions, directly within the scope where they are needed.
  • Member Function: Generalized binders for function/object/pointers and member functions.
  • Phoenix: Define small unnamed function objects at the actual call site, and more.
  • Ref: A utility library for passing references to generic functions.
  • Result Of: Determines the type of a function call expression.
  • Signals: Managed signals & slots callback implementation.
  • Signals2: Managed signals & slots callback implementation (thread-safe version 2).
  • Utility: Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom.

일반적인 프로그래밍

  • Call Traits: Defines types for passing parameters.
  • Concept Check: Tools for generic programming.
  • Enable If: Selective inclusion of function template overloads.
  • Function Types: Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.
  • GIL: Generic Image Library
  • In Place Factory, Typed In Place Factory: Generic in-place construction of contained objects with a variadic argument-list.
  • Operators: Templates ease arithmetic classes and iterators.
  • Property Map: Concepts defining interfaces which map key objects to value objects.
  • Static Assert: Static assertions (compile time assertions).
  • Type Traits: Templates for fundamental properties of types.

템플릿 메타프로그래밍

  • Function Types: Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.
  • Fusion: Library for working with tuples, including various containers, algorithms, etc.
  • MPL: The Boost.MPL library is a general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language.
  • Proto: Expression template library and compiler construction toolkit for domain-specific embedded languages.
  • Static Assert: Static assertions (compile time assertions).
  • Type Traits: Templates for fundamental properties of types.

프로세서 메타프로그래밍

  • Identity Type: Wrap types within round parenthesis so they can always be passed as macro parameters.
  • Preprocessor: Preprocessor metaprogramming tools including repetition and recursion.

동시(병행) 프로그래밍

  • Asio: Portable networking, including sockets, timers, hostname resolution and socket iostreams.
  • Context: Context switching library.
  • Interprocess: Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators.
  • MPI: Message Passing Interface library, for use in distributed-memory parallel application programming.
  • Thread: Portable C++ multi-threading.

수학과 수치(수)

  • Accumulators: Framework for incremental calculation, and collection of statistical accumulators.
  • Geometry: Geometry Library.
  • Integer: The organization of boost integer headers and classes is designed to take advantage of <stdint.h> types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header <boost/cstdint.hpp> makes the standard integer types safely available in namespace boost without placing any names in namespace std.
  • Interval: Extends the usual arithmetic functions to mathematical intervals.
  • Math: Boost.Math includes several contributions in the domain of mathematics: The Greatest Common Divisor and Least Common Multiple library provides run-time and compile-time evaluation of the greatest common divisor (GCD) or least common multiple (LCM) of two integers. The Special Functions library currently provides eight templated special functions, in namespace boost. The Complex Number Inverse Trigonometric Functions are the inverses of trigonometric functions currently present in the C++ standard. Quaternions are a relative of complex numbers often used to parameterise rotations in three dimentional space. Octonions, like quaternions, are a relative of complex numbers.
  • Math Common Factor: Greatest common divisor and least common multiple.
  • Math Octonion: Octonions.
  • Math Quaternion: Quaternions.
  • Math/Special Functions: A wide selection of mathematical special functions.
  • Math/Statistical Distributions: A wide selection of univariate statistical distributions and functions that operate on them.
  • Multi-Array: Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface.
  • Numeric Conversion: Optimized Policy-based Numeric Conversions.
  • Operators: Templates ease arithmetic classes and iterators.
  • Random: A complete system for random number generation.
  • Ratio: Compile time rational arithmetic.
  • Rational: A rational number class.
  • uBLAS: uBLAS provides matrix and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported.

확성과 테스팅

  • Concept Check: Tools for generic programming.
  • Static Assert: Static assertions (compile time assertions).
  • Test: Support for simple program testing, full unit testing, and for program execution monitoring.

데이터 구조들

  • Any: Safe, generic container for single values of different value types.
  • Bimap: Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key.
  • Compressed Pair: Empty member optimization.
  • Container: Standard library containers and extensions.
  • Fusion: Library for working with tuples, including various containers, algorithms, etc.
  • Heap: Priority queue data structures.
  • ICL: Interval Container Library, interval sets and maps and aggregation of associated values
  • Multi-Index: The Boost Multi-index Containers Library provides a class template named multi_index_container which enables the construction of containers maintaining one or more indices with different sorting and access semantics.
  • Pointer Container: Containers for storing heap-allocated polymorphic objects to ease OO-programming.
  • Property Tree: A tree data structure especially suited to storing configuration data.
  • Tuple: Ease definition of functions returning multiple values, and more.
  • Uuid: 일반적으로 유일한 식별자.
  • Variant: Safe, generic, stack-based discriminated union container.

영역 세부적인 특성

  • Chrono: 유용한 시간 유틸리티들.
  • CRC: The Boost CRC Library provides two implementations of CRC (cyclic redundancy code) computation objects and two implementations of CRC computation functions. The implementations are template-based.
  • Date Time: A set of date-time libraries based on generic programming concepts.
  • Units: Zero-overhead dimensional analysis and unit/quantity manipulation and conversion.
  • Uuid: 일반적으로 유일한 식별자.

이미지 프로세싱

  • GIL: 일반적 이미지 라이브러리

입/출력

  • Asio: Portable networking, including sockets, timers, hostname resolution and socket iostreams.
  • Assign: Filling containers with constant or generated data has never been easier.
  • Format: The format library provides a class for formatting arguments according to a format-string, as does printf, but with two major differences: format sends the arguments to an internal stream, and so is entirely type-safe and naturally supports all user-defined types; the ellipsis (...) can not be used correctly in the strongly typed context of format, and thus the function call with arbitrary arguments is replaced by successive calls to an argument feeding operator%.
  • IO State Savers: The I/O sub-library of Boost helps segregate the large number of Boost headers. This sub-library should contain various items to use with/for the standard I/O library.
  • Iostreams: Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters.
  • Program Options: The program_options library allows program developers to obtain program options, that is (name, value) pairs from the user, via conventional methods such as command line and config file.
  • Serialization: Serialization for persistence and marshalling.

상호간의 언어지원

  • Python: The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler.

언어 특징 에뮬레이션

  • Exception: The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads.
  • Foreach: In C++, writing a loop that iterates over a sequence is tedious. We can either use iterators, which requires a considerable amount of boiler-plate, or we can use the std::for_each() algorithm and move our loop body into a predicate, which requires no less boiler-plate and forces us to move our logic far from where it will be used. In contrast, some other languages, like Perl, provide a dedicated "foreach" construct that automates this process. BOOST_FOREACH is just such a construct for C++. It iterates over sequences for us, freeing us from having to deal directly with iterators or write predicates.
  • Move: C++03과 C++11 컴파일러를 위한 이식성있는 이동 의미.
  • Parameter: Boost.Parameter 라이브러리 - 이름에 의해서 아규먼트들을 받아들이는 함수들을 작성한다.
  • Scope Exit: 종료범위에서 임의적인 코드 실행.
  • Typeof: operator 애뮬레이션에대한 typeof.

메모리

  • Pool: 메모리풀 관리.
  • Smart Ptr: 스마트 포인터(smart pointer) 클래스 템플릿.
  • Utility: Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom.

파싱

  • Spirit: LL parser framework represents parsers directly as EBNF grammars in inlined C++.

패턴과 숙어

  • Compressed Pair: 비어있는 멤버 최적화.
  • Flyweight: Design pattern to manage large quantities of highly redundant objects.
  • Signals: Managed signals & slots callback implementation.
  • Signals2: Managed signals & slots callback implementation (thread-safe version 2).
  • Utility: Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom.

프로그래밍 인터페이스들

  • Function: Function object wrappers for deferred calls or callbacks.
  • Parameter: Boost.Parameter Library - Write functions that accept arguments by name.

상태 머신들

  • Meta State Machine: A very high-performance library for expressive UML2 finite state machines.
  • Statechart: Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code.

시스템

  • Chrono: 유용한 시간 유틸리티들.
  • Context: 문맥 스위칭 라이브러리.
  • Date Time: A set of date-time libraries based on generic programming concepts.
  • Filesystem: The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories.
  • System: Operating system support, including the diagnostics support that will be part of the C++0x standard library.
  • Thread: 이식성있는 C++ 멀티 쓰래딩.

갖가지 주제를 다루는

  • Conversion: 다형성과 Lexical Cast.
  • Lexical Cast: General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney.
  • Numeric Conversion: Optimized Policy-based Numeric Conversions.
  • Optional: 선택적 값들을 위한 구별되어지는 결합적인 랩퍼(wrapper).
  • Polygon: Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates.
  • Program Options: The program_options library allows program developers to obtain program options, that is (name, value) pairs from the user, via conventional methods such as command line and config file.
  • Swap: 향상된 일반적인 교체(swap) 함수.
  • Timer: Event timer, progress timer, and progress display classes.
  • TR1: The TR1 library provides an implementation of the C++ Technical Report on Standard Library Extensions. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace std::tr1.
  • Tribool: 3-상태 불리언 타입라이브러리.
  • Utility: Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom.
  • Value Initialized: Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams.

깨진 컴파일러 회피방법

  • Compatibility: 표준 라이브러리를 따르지않는것을 위해 돕니다.
  • Config: Boost 라이브러리 개발자들이 컴파일러 특이방식에 적응하도록 돕는다; 라이브러리 유저를 위해서 고려되지않았다.

Revised $Date: 2012-08-29 18:37:51 -0400 (Wed, 29 Aug 2012) $

Distributed under the Boost Software License, Version 1.0.


번역 원문 : http://www.boost.org/doc/libs/1_51_0/?view=categorized

반응형

+ Recent posts