C++ named requirements: Predicate
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Predicate 요구 사항은 BooleanTestable 값을 반환하는 호출 가능 객체를 설명합니다.
Predicate 는 일반적으로 입력 데이터(개별 객체/컨테이너)와 predicate를 받는 알고리즘과 함께 사용되며, 이 predicate는 입력 데이터에 대해 호출되어 이후 동작을 결정합니다. C++ 표준 라이브러리에서 predicate 사용의 몇 가지 예시는 다음과 같습니다:
- std::all_of , std::any_of , std::none_of 요소 배열과 조건자를 입력으로 받습니다. 개별 입력 요소에 대해 조건자를 호출하고, 모든/어떤/어떤 요소도 조건자가 true를 반환하는 경우 true를 반환합니다.
- std::find_if 요소들의 시퀀스와 predicate를 취합니다. predicate가 true 와 동일한 값을 반환하는 시퀀스 내 첫 번째 요소를 반환합니다.
위에서 설명된 알고리즘 기능에 대한 설명은 기본적인 것으로, Predicate 을 간단한 용어로 설명하기 위한 것입니다. 상세한 정보는 각 개별 페이지를 참조하십시오.
다시 말해, 알고리즘이
Predicate
pred
와 반복자
first
를 취한다면, 주어진 술어를 사용하여
first
반복자가 가리키는 타입의 객체를 다음과 같은 구문을 통해 테스트할 수 있어야 합니다:
if
(
pred
(
*
first
)
)
{
/*...*/
}
.
함수 객체
pred
는 역참조된 반복자를 통해 비상수 함수를 적용해서는 안 되며,
const
인수를 수용해야 합니다. 인수가
const
인지 비-
const
인지에 관계없이 동일한 동작을 가져야 합니다. 이 함수 객체는 함수에 대한 포인터이거나 적절한 함수 호출 연산자를 가진 타입의 객체일 수 있습니다.
요구사항
|
이 섹션은 불완전합니다
이유: 실제 요구사항을 더 잘 설명해야 함 |
결함 보고서
다음 동작 변경 결함 보고서는 이전에 게시된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 3031 | C++98 |
const
값에 대한 요구사항이 불충분함
|
요구사항 강화됨 |
참고 항목
|
(C++20)
|
호출 가능 타입이 부울 조건자임을 명시
(concept) |