the진인터페이스는 a 액세스 방법이 필요한 높은 추상화 수준 데이터 유형의 의미론을 구현하기 위해서만 구현 자 접근 중. 그만큼진레이어 그 자체는 동시성을 돌보고 나무를 기록하고 검색합니다. 구조.
a를 얻는 데 필요한 모든 것진액세스 방법 작업 작동은 4 가지 사용자 정의 메소드를 구현하는 것입니다. 트리의 키의 동작과 키, 인덱스 값 및 색인 가능성 간의 관계 쿼리. 요컨대진확장 성과 일반성, 코드 재사용 및 깨끗함을 결합합니다 인터페이스.
인덱스 연산자가 클래스하는 네 가지 방법진제공해야합니다.
키를 비교 (색인 값이 아님)를 비교하고 반환합니다 정수는 0, 0보다 적거나 0보다 큰 정수, 첫 번째 키가, 동일하거나, 또는 두 번째보다 큽니다.
인덱스 할 값이 주어진 키를 반환합니다. 반환 된 키의 수는에 저장되어야합니다.*nkeys.
쿼리 할 값이 주어진 키 배열을 반환합니다.
즉,쿼리는 값입니다
왼쪽 인덱스 가능한 연산자의 오른쪽
측면은 색인화 된 열입니다.nis
연산자 내 작업자의 전략 번호
클래스 (참조섹션
34.14.2). 자주,ExtractQuery
상담해야합니다n데이터 유형을 결정하려면쿼리및 필요한 주요 값
추출됩니다. 반환 된 키의 수는 저장되어야합니다
안으로*nkeys. 키 수가있는 경우
그때 0과 같다ExtractQuery
0 또는 -1에을 저장해야합니다*nkeys. 0은 모든 행을 의미합니다
일치쿼리및 시퀀스
스캔을 생성해야합니다. -1은 아무것도 만족할 수 없음을 의미합니다쿼리. 가치의 선택이어야합니다
주어진 전략으로 운영의 의미론 의미를 기반으로합니다
숫자.
인덱스 값이 쿼리를 만족하면 true를 반환합니다
전략 번호가있는 운영자n(또는 연산자가 다시 확인되면 만족합니다.
운영자 클래스). 그만큼check배열
이전 키와 같은 길이를 가지고 있습니다.
반품ExtractQuery
이 쿼리. 의 각 요소check인덱스 값이라면 배열이 참입니다
해당 쿼리 키, 즉 if (Check [i] ==
TRUE)의 I-th 키ExtractQuery
결과 배열이 있습니다
색인 값. 원래쿼리Datum (추출 된 키 어레이가 아님!)
의 경우를 대비하여 통과됩니다.일관성
방법을 참조해야합니다
그것.