Namespaces
Variants

std::experimental::ranges:: dangling, std::experimental::ranges:: safe_iterator_t

From cppreference.net
헤더 파일에 정의됨 <experimental/ranges/iterator>
template < CopyConstructible T >

class dangling {
public :
dangling ( ) requires DefaultConstructible < T > ( ) ;
dangling ( T t ) ;
T get_unsafe ( ) const ;

} ;
(ranges TS)
template < Range R >

using safe_iterator_t = std:: conditional_t < std:: is_lvalue_reference < R > :: value ,
ranges:: iterator_t < R > ,

ranges:: dangling < ranges:: iterator_t < R >> ;
(ranges TS)

클래스 템플릿 dangling 는 감싸진 객체가 댕글링(dangling) 상태일 수 있음을 나타내기 위한 간단한 래퍼입니다. 즉, 이는 수명이 이미 끝난 다른 객체를 참조할 수 있는 상태를 의미합니다.

별칭 템플릿 safe_iterator_t R 의 반복자 타입을 반환하며, 범위가 rvalue 범위인 경우( R 이 lvalue 참조 타입이 아닌 것으로 표시됨) dangling 으로 래핑됩니다.

이들은 rvalue 범위를 받아들이고 그 안의 반복자를 반환하는 범위 알고리즘에 의해 사용됩니다.

멤버 함수

std::experimental::ranges::dangling:: dangling

dangling ( ) requires DefaultConstructible < T > ( ) ;
(1)
dangling ( T t ) ;
(2)
1) 기본 생성자. 감싸진 객체를 값 초기화합니다.
2) 감싸진 객체를 t 로 초기화합니다. 이 생성자는 T 에서 dangling<T> 로의 암시적 변환을 정의합니다.

std::experimental::ranges::dangling:: get_unsafe

T get_unsafe ( ) const ;

래핑된 객체의 복사본을 반환합니다.